尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

洛谷P8421 [THUPC 2022 决赛] rsraogps

洛谷P8421 [THUPC 2022 决赛] rsraogps
📅 发布时间:2026/6/19 18:20:33

洛谷P8421 [THUPC 2022 决赛] rsraogps

P8421 [THUPC 2022 决赛] rsraogps - 洛谷

因为从一个点最多会变化 \(\log V\) 次(这三种操作都是这样),考虑扫描线,这样每次更新前面答案贡献时,就有可能做到 \(\log V\) 的时复。

我们将答案拆成前缀和的形式:考虑扫描线到了 \(j\),\(s_i\) 表示满足 \(l\le i,l \le r \le j\),这样,答案被拆成了 \(s_j - s_{l-1}\)(扫描线 \(j=r\))。

考虑扫描线 \(r \to r+1\),改变了什么。

定义 \(A_{l,r},B_{l,r},C_{l,r}\) 表示区间的与、或、最大公约数。

\(s_i\) 会增加 \(\sum_{j=1}^i [j,r+1]\) 的区间贡献,我们注意到对于一段区间 \([j,r] \to [j,r+1]\) 如果其 \(A,B,C\) 的值均不变,那么对于 \([j,r-1],[j,r],[j,r+1]\) 之间增加的值是相同的,即 \(A\times B \times C\)。

如果其 \(A,B,C\) 任意一个改变了,那么从 \(r\) 向左直到 \(A,B,C\) 均不再改变,先增加之前的 \(s_i\),然后打上新的增加值 \(add_i\)。

最后,对于 \(\sum_{j=1}^i [j,r+1]\) 的值,即 \(add_i\),为 \(a,b,c\) 的一段前缀和。

\(\Large \mathscr{Code}\)

#include<bits/stdc++.h>
#define int unsigned
using namespace std;
const int N = 1e6+100;
int n,m,a[N],b[N],c[N],val[N],add[N],nt[N],T,ans[N*5];
vector<pair<int,int>> scan[N];
int query(int x){return val[x] + add[x]*(T-nt[x]);
}
signed main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++) cin>>b[i];for(int i=1;i<=n;i++) cin>>c[i];for(int i=1;i<=m;i++){int l,r;cin>>l>>r;scan[r].push_back({l,i});}for(int i=1;i<=n;i++){int tmp = i-1;while(tmp){int x = a[tmp]&a[tmp+1],y = b[tmp]|b[tmp+1],z = __gcd(c[tmp],c[tmp+1]);if(x==a[tmp] && y==b[tmp] && z==c[tmp]) break;a[tmp] = x,b[tmp] = y,c[tmp] = z;tmp--;}val[i] = query(i-1);for(int j=tmp+1;j<=i;j++){val[j] = query(j);nt[j] = T;add[j] = add[j-1]+a[j]*b[j]*c[j];}T++;for(auto e:scan[i]) ans[e.second] = query(i)-query(e.first-1);}for(int i=1;i<=m;i++) cout<<ans[i]<<'\n';return 0;
}

相关新闻

  • 实用指南:流媒体基础解析:音视频封装格式与传输协议
  • 《前端面试题:BFC(块级格式化上下文)》 - 详解
  • 2025 年压滤机厂家最新推荐排行榜:隔膜压滤机,污泥压滤机,真空压滤机,板框压滤机,带式压滤机优质企业权威评选及选购指南

最新新闻

  • 上海汽车音响改装选哪家?上海音乐人生,二十年赛事级连锁标杆门店 - 音乐人生汽车音响
  • 技术解析:从Tri-Plane到3D GAN,如何实现高效且一致的神经渲染
  • 通过Selenium实现网页截图来生成应用封面
  • 2026苏州钻石回收实测|国标4C定级,全城无套路靠谱门店变现指南 - 薛定谔的梨花猫
  • C语言宽字符处理:wmemcmp、wmemcpy、wprintf核心函数详解与实战
  • 多模态大语言模型LISA

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号