首页 > 其他分享 >CF1322B Present & P3760 [TJOI2017] 异或和

CF1322B Present & P3760 [TJOI2017] 异或和

时间:2022-10-21 20:23:10浏览次数:55  
标签:le log CF1322B P3760 异或 TJOI2017 位为

CF1322B

考虑每一位的贡献,记当前位为 \(k\)

显然高位不会影响低位,那么将所有数 \(\bmod 2^{k+1}\)

那么第 \(k\) 位为 \(1\) 当且仅当 \(2^k \le a'_i+a'_j < 2^{k+1}\) 或 \(2^{k+1}+2^k \le a'_i+a'_j < 2^{k+2}\)

排序+双指针可以做到 \(\mathcal O(n \log n \log A)\)

P3760 [TJOI2017] 异或和

同样经过一系列转化为求 \(a_i-a_j\) 的第 \(k\) 位为 \(1\) 的对数。

高位的值无关紧要,只会存在借位的 \(1\),同样可以直接将所有数 \(\bmod 2^{k+1}\)

那么得到: \(2^k \le a_j'-a_i' < 2^{k+1}\) 或 \(2^k \le (a_j'+2^{k+1})-a_i' < 2^{k+1}\)

注意此时对 \(a_i,a_j\) 的大小关系有要求,只能依次加入,采用树状树组维护区间和可做到 \(\mathcal O(n \log^2 A )\)

总结

首先是套路的将异或和拆分位计算

然后将某一位的 0/1 限制转化为范围限制。

标签:le,log,CF1322B,P3760,异或,TJOI2017,位为
From: https://www.cnblogs.com/chihik/p/CF1322B.html

相关文章

  • 学习日记(异或运算)
    1、136、只出现一次的数字classSolution{public:intsingleNumber(vector<int>&nums){intret=0;for(autoe:nums)ret^=e;/*for(aut......
  • 【LeetCode】1486. 数组异或操作(C++)
    1486.数组异或操作(C++)​​1题目描述​​​​2示例描述​​​​2.1示例1​​​​2.2示例2​​​​2.3示例3​​​​2.4示例4​​​​3解题提示​​​​4源码详......
  • 如何理解异或?
    异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1)知乎上一位朋友是这么理解的:男性和女性能生出孩子,否则就不行。有兴趣可以去看看:https://www.zhihu.com/question/31......
  • 做题记录整理数据结构2 P4551 最长异或路径(2022/10/13)
    P4551最长异或路径其实我也不知道算不算数据结构,反正就是01trie,不过题目本身似乎也是一个模板?https://www.luogu.com.cn/blog/108510/solution-p4551(由于一看到异或就......
  • Problem P25. [算法课回溯]找出所有子集的异或总和再求和
    简单的一道回溯题,具体解法看代码,有注释#include<iostream>#include<bits/stdc++.h>#include<cstdio>#include<string>usingnamespacestd;intret=0;void......
  • 竞赛-6201. 找出前缀异或的原始数组
    参加竞赛的一道题中等难度给你一个长度为n的整数数组pref。找出并返回满足下述条件且长度为n的数组arr:pref[i]=arr[0]^arr[1]^...^arr[i].注意^表示......
  • 2020辽宁省赛 xor(前缀和DP 异或性质)
    2020辽宁省赛xor题意:​ 现在有一个长度为n的数组a。现在要将a拆分成若干个连续的子数组,要求每个连续的数组异或和都为x。请问有多少种拆分的方案。思路:​ 容易推出转......
  • 异或方程组高斯消元模板
    inlinevoidsolve(intn){for(inti=1,top=1;i<=n;i++,top++){intcur=0;for(intj=top;j<=n;j++)if(m......
  • java 算法——异或运算练习
    packageclass01;//在一个数组中已知数组中只有一种数出现了奇数次,其他的是所有数都出现了偶数次怎么找到出现奇数次的数对所有数字取异或最终结果就是奇数次那个数......
  • [图论 , 线性基 , 9.28模拟赛] 图异或
    图异或题意给定一张\(n\)个点\(m\)条边的连通二分图,每个点有点权\(a_i\)。\(Q\)组询问,每次给定两个点\(u,v\),求点\(u\)到点\(v\)的路径(不一定要简单)权值最大值......