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

[题解]QOJ #8520. Xor Partitions

[题解]QOJ #8520. Xor Partitions
📅 发布时间:2026/6/19 21:20:37

QOJ #8520. Xor Partitions

给定非负整数序列 \(A_1,A_2,\dots,A_n\),求所有非空划分的权值之和。一个划分的权值定义为每一段的异或和之积。

\(n\le 3\times 10^5,a\in[0,10^{18}]\)。

Sample in:

4
7 3 1 2

Sample out:

170

Solution

考虑朴素的 DP,设 \(f[i]\) 为前 \(i\) 个元素的答案,\(s_i\) 为异或前缀和数组,则有转移:

\[f[i]=\sum\limits_{j=0}^{i-1} f[j]\times (s_i\oplus s_j) \]

异或题的经典套路是考虑按位转移,上式可以写成:

\[f[i]=\sum\limits_{c=0}^{60}2^c\times \sum\limits_{j=0}^{i-1}f[j]\times\big[s_i的第c位\ne s_j的第c位\big] \]

于是我们可以预处理 \(d[c][i][0/1]\) 表示 \(s_1,\dots,s_i\) 中第 \(c\) 位为 \(0/1\) 对应的 \(f\) 值之和。然后上式可以写成:

\[f[i]=\sum\limits_{c=0}^{60} 2^c\times d[c][i-1][s_i的第c位\oplus 1] \]

时间复杂度 \(O(n\log V)\)。

点击查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=3e5+5,P=1e9+7;
int n,a[N],f[N],d[60][2];
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n;for(int i=1;i<=n;i++) cin>>a[i],a[i]^=a[i-1];f[0]=1;for(int i=0;i<60;i++) d[i][0]=1;for(int i=1;i<=n;i++){int b=1;for(int j=0;j<60;j++) (f[i]+=b*d[j][(~a[i]>>j)&1])%=P,(b<<=1)%=P;for(int j=0;j<60;j++) (d[j][(a[i]>>j)&1]+=f[i])%=P;}cout<<f[n]<<"\n";return 0;
}

相关新闻

  • 2025年垃圾分类房标准解析与智能垃圾分类房品牌评测:为什么选择合肥荣东?
  • 2025年耙式机械格栅除污机工厂权威推荐榜单:破碎格栅机 /回转式机械格栅/拦污格栅源头厂家精选
  • 2025年旗台石栏杆制造企业权威推荐榜单:旗台座栏杆 /汉白玉旗台/汉白玉栏杆旗台源头厂家精选

最新新闻

  • 全国学历提升继续教育学习体验实录
  • 验证码绕过实战:从Pikachu靶场剖析客户端与服务端漏洞原理
  • Mission Planner终极指南:5步掌握开源无人机地面站专业飞行控制
  • Gemini大模型系列技术解析与真实能力边界
  • 修复kkFileView XSS漏洞与POI文件预览兼容性问题实战
  • 弱监督学习与概率提示技术在3D目标检测中的应用

日新闻

  • 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 号