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

房地产开发公司网站源码成品网站w灬源码伊甸院

房地产开发公司网站源码,成品网站w灬源码伊甸院,网站 公司备案与个人备案,wordpress 上传图片大小题目内容 原题链接 给定一个长度为 n n n 的整数数组 a a a #xff0c;问所有子数组和的异或和是多少。 数据范围 1 ≤ n ≤ 1 0 5 1\leq n\leq 10^5 1≤n≤105 ∑ a i ≤ 1 0 6 \sum a_i\leq 10^6 ∑ai​≤106 题解 基本思路 本题是 ARC092D - Two Sequences 的同类型…题目内容 原题链接 给定一个长度为 n n n 的整数数组 a a a 问所有子数组和的异或和是多少。 数据范围 1 ≤ n ≤ 1 0 5 1\leq n\leq 10^5 1≤n≤105 ∑ a i ≤ 1 0 6 \sum a_i\leq 10^6 ∑ai​≤106 题解 基本思路 本题是 ARC092D - Two Sequences 的同类型题ARC092D 中是两个数和的异或和而本题是两个数差的异或和。 子数组的和自然会想到前缀和考虑 p r e i pre_i prei​ 和 p r e j pre_j prej​ j i ji ji 那么子数组 a j 1 , a j 2 , ⋯ , a i a_{j1},a_{j2},\cdots,a_i aj1​,aj2​,⋯,ai​ 的和为 p r e i − p r e j pre_i-pre_j prei​−prej​ 考虑减法的特性先考虑低位低位不够了会向高位借位。 考虑和的第 k k k 位 x p r e i m o d 2 k 1 , y p r e j m o d 2 k 1 xpre_i\bmod 2^{k1},ypre_j\bmod 2^{k1} xprei​mod2k1,yprej​mod2k1 x ≥ y x\geq y x≥y 考虑 x − y x-y x−y 的第 k k k 位是否为 1 1 1 x y xy xy 因为 p r e i ≥ p r e j pre_i\geq pre_j prei​≥prej​ 所以可以将 2 k 1 2^{k1} 2k1 添加到 x x x 上 判断 x 2 k 1 − y x2^{k1}-y x2k1−y 的第 k k k 位是否为 1 1 1 。 这样的做法需要枚举 i i i 和 j j j 时间复杂度是 O ( n 2 ) O(n^2) O(n2) 考虑如何优化。 优化 我们需要枚举 i i i 的同时找到所有满足条件的 j j j 。 以 k 2 k2 k2 为例区间和为 [ 010 0 2 , 011 1 2 ] [0100_2,0111_2] [01002​,01112​] 以及 [ 110 0 2 , 111 1 2 ] [1100_2,1111_2] [11002​,11112​] 的区间是满足条件的。 [ 010 0 2 , 011 1 2 ] [0100_2,0111_2] [01002​,01112​] 对应的 p r e j pre_j prej​ 范围是 [ x − 011 1 2 , x − 010 0 2 ] [x-0111_2,x-0100_2] [x−01112​,x−01002​] [ 110 0 2 , 111 1 2 ] [1100_2,1111_2] [11002​,11112​] 对应的 p r e j pre_j prej​ 范围是 [ x − 111 1 2 , x − 110 0 2 ] [x-1111_2,x-1100_2] [x−11112​,x−11002​] 显然这些区间都不能为负数所以我们需要额外判断对于 p r e i ≥ 2 k 1 pre_i\geq 2^{k1} prei​≥2k1 的 x x x 就给他们加上 2 k 1 2^{k1} 2k1 。 用树状数组来维护区间内数的个数。 时间复杂度 O ( 20 n × log ⁡ 1 0 6 ) O(20n\times \log 10^6) O(20n×log106) 其中 20 20 20 是值域对应的二进制数的最大位数 log ⁡ 1 0 6 \log 10^6 log106 是树状数组单次操作的复杂度。 代码 #include bits/stdc.h using namespace std;const int N 100010; const int MAX 1000010; const int BIT 20;int a[N]; int pre[N]; int tr[MAX];void update(int p, int x, int limit) {p 1;while (p limit) {tr[p] x;p p -p;} }int query(int p) {p 1;int res 0;while (p 0) {res tr[p];p - p -p;}return res; };int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin n;for (int i 0; i n; i) {cin a[i];pre[i 1] pre[i] a[i];}int ans 0;for (int k 0; k BIT; k) {int mod 1 (k 1);int mask mod - 1;int limit min(MAX - 1, mod);update(0, 1, limit);int cnt 0;for (int i 1; i n; i) {int cur pre[i] mask;if (pre[i] mod) {cur mod;}// L 是最小值R 是最大值// cur 需要大于等于最小值int L 1 k, R (1 (k 1)) - 1;if (cur L) {int maxv cur - L;int minv max(0, cur - R);cnt ^ query(maxv) - query(minv - 1) 1;L 3 k, R (1 (k 2)) - 1;if (cur L) {maxv cur - L;minv max(0, cur - R);cnt ^ query(maxv) - query(minv - 1) 1;}}update(pre[i] mask, 1, limit);}if (cnt) ans | 1 k;memset(tr, 0, sizeof(int) * (limit 1));}cout ans \n;return 0; }一样的题更大的数据范围 灵茶八题 - 子数组 w^
http://www.sadfv.cn/news/20453/

相关文章:

  • 电商网站模板html减肥网站模板
  • 做网站竞价没有点击率php7.1 WordPress
  • 拥有服务器后如何做网站网站建设设计文档模板
  • 台州网站优化方案网站开发和程序开发
  • 电商网站后台建设莱芜做网站
  • wordpress电影站开发淘宝详情页设计模板
  • 丹东做网站网站建设常规尺寸
  • 中英文双语企业网站iis 创建网站
  • 问卷星网站开发市场调查问卷ui培训费
  • 网站建设奕网情深做网站推广怎么做
  • 北京 房地产 网站建设广州工商注册查询系统
  • 惠州双语网站建设费用天津市建设信息工程网
  • 电商网站建设与维护意味着什么刚刚传来最新消息
  • 网站模板制作与安装教程视频做网站的公司给出个证明
  • 做网站为什么能挣钱wordpress 云主机名
  • 新开传奇网站999c 创建一个网站怎么做
  • 怎么在自己电脑做网站手机免费建立网站
  • 临沂做网站建设的公司哪家好网络营销模式下品牌推广研究论文
  • 做金属小飞机的网站如何给网站挂黑链
  • 宁夏区建设厅网站天元建设集团有限公司朱华
  • 网站没排名要怎么做现在做外贸还能挣钱吗
  • 惠州市网站开发那个装修公司的网站做的好
  • 网站制作培训班做网站哪个软件好用
  • 怎么对一个网站做优化怎样自己做免费网站
  • 建设一个会员积分网站上海专业做网站的
  • 信息科技有限公司网站建设网站英文版是怎么做的
  • 北京教育学会网站建设ppt免费下载
  • 单位还能建设网站吗阿里云做网站怎么挣钱
  • 郑州营销网站建设公司网站建设的重点是什么
  • 网站备案级别济南国画网站济南网站建设公司