当前位置: 首页 > news >正文

CCPC2024-Zhengzhou G Same Sum(线段树)

CCPC2024-Zhengzhou G Same Sum

给一个序列。两种操作:

  1. 区间加;

  2. 查询一个偶数长区间,其中的值是否可以两两配对得到和相等。

首先知道区间内的值两两配对得到的相等的和值为区间的平均数 m 。

可以转化为,这个区间的值分布关于 m 对称。

\[x^{a_i+a_j}=x^{2m} \Rightarrow x^{a_i}=\frac{x^{2m}}{x^{a_j}}, x^{a_j}=\frac{x^{2m}}{x^{a_i}} \]

\[\sum_{i=l}^r x^{a_i}=x^{2m}\sum_{i=l}^r x^{-a_i} \]

维护区间平均值 m,\(\sum x^{a_i}\)\(\sum x^{-a_i}\) 即可。

这个值为什么能正确刻画这个分布?我还没搞明白...QvQ?

const i64 x=(rng()%P*rng()%P)%P;
i64 ux; // ux=power(x,P-2);i64 power(i64 A,i64 B)
{u64 ANS=1,BASE=A%P;for (;B;B>>=1,BASE=BASE*BASE%P)if (B&1) ANS=ANS*BASE%P;return ANS;
}void R()
{int n,q;cin>>n>>q;vector<i64> a(n);for (int i=0;i<n;i++) cin>>a[i];vector<Info> info(n);for (int i=0;i<n;i++)info[i]={power(x,a[i]),power(ux,a[i]),a[i],i,i};SGT<Info,Tag> sgt(info);while (q--){int opt,l,r;i64 v;cin>>opt>>l>>r; l--;if (opt==1){cin>>v;sgt.rangeApply(l,r,{power(x,v),power(ux,v),v});}else{auto [U,V,m,ll,rr]=sgt.rangeQuery(l,r);i64 len=r-l;if (m%(len/2)!=0) { cout<<"NO\n"; continue; }if (V*power(x,m/(len/2))%P==U) cout<<"YES\n";else cout<<"NO\n";}}return;
}
http://www.jsqmd.com/news/3724/

相关文章:

  • 短剧小程序开发全攻略:从技术选型到核心实现(前端+后端+运营干货) - 详解
  • Openwrt-DDNS 配置详解
  • 实用指南:Metal - 2. 3D 模型深度解析
  • 【2025.9.16】关于举办PostgreSQL数据库管理人才研修与评测班的通知
  • Java锁相关问题
  • CDN中使用边缘函数实现自定义编程
  • 第一次课程中的所有动手动脑的问题以及课后实验性的问题
  • 敏捷开发的几个阶段
  • 实战:基于 BRPC+Etcd 打造轻量级 RPC 服务 —— 从注册到调用的完整实现 - 教程
  • 【2025最新】ArcGIS 点聚合功能实现全教程(进阶版) - 实践
  • 隐藏在众目睽睽之下:从PEB中解除恶意DLL的链接
  • 详细介绍:Java 领域中 Java-EE 的异步编程实现
  • 设计模式六大原则 - 实践
  • 徐霞客的《青云志》
  • 深入解析:豆包Seedream 4.0:全面测评、玩法探索与Prompt解读
  • 运营商 API 安全最佳实践、案例与方案推荐(2025)|千万级接口的全链路实战
  • HyperWorks许可与多用户支持
  • 破局与进化:火山引擎Data Agent从落地实践到架构未来
  • 使用trace进行排查网络瓶颈
  • 五项能力斩获满分!天翼云云WAF获IDC权威认可!
  • 什么样的代码可以称得上是好代码? - 浪矢
  • 抖胆代理商,DD3118S芯片,USB3.0读卡方案,替代GL3213S方案
  • JavaEE 导读与环境配置 - 实践
  • 微软Teams Channel Agent上线:中国卖家AI赋能品牌出海新机遇与实战策略(2025前瞻) - 详解
  • docker制作
  • lvgl 9.3 style使用导致内存泄漏问题
  • 【AI领域】如何写好Prompt提示词:从新手到进阶的完整指南 - 详解
  • king3399 编译报错
  • 实用指南:uniapp x鸿蒙开发之运行到鸿蒙模拟器
  • Redis 监听过期Key - 指南