![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
异或
文章平均质量分 93
&*^*&
这个作者很懒,什么都没留下…
展开
-
acm-(异或、思维)Codeforces Round #705 (Div. 2) E. Enormous XOR
传送门首先给出结论:若l0=0,r0=1l_0=0,r_0=1l0=0,r0=1,那么答案就是111...1111...1111...1(长度为nnn)。否则若rrr为奇数或l+1≥rl+1\ge rl+1≥r,那么答案是rrr。否则(rrr为偶数并且l+1<rl+1<rl+1<r)答案是r+1r+1r+1。下面给出证明:第一种情况下我们可以找到长度为nnn的01111..101111..101111..1与1000..01000..01000..0串,两者异或就能得.原创 2021-03-07 09:46:49 · 493 阅读 · 0 评论 -
acm-(构造、异或、思维)Codeforces Global Round 11 E. Xum
传送门方法一:考虑找到一个数yyy使得gcd(x,y)=1gcd(x,y)=1gcd(x,y)=1,也就是∃a,b≥0,ax−by=1\exist a,b\ge 0,ax-by=1∃a,b≥0,ax−by=1,也就是ax=by+1ax=by+1ax=by+1,如果yyy是个偶数,那么我们让(ax) xor(by)(ax)\,xor (by)(ax)xor(by)就能得到111了,其中a,ba,ba,b可以通过扩欧寻找,要让ax,byax,byax,by出现在黑板上可以通过倍增实现。而如何寻找一个适合的.原创 2020-11-27 11:39:27 · 192 阅读 · 0 评论 -
acm-(好题、哈希技巧)2020 China Collegiate Programming Contest Qinhuangdao Site J. Jewel Splitting
传送门本题让求一个字符串在不同划分下的排列数,具体来说,给定一个d,d=1,2,3,..,nd,d=1,2,3,..,nd,d=1,2,3,..,n,将字符串划分为ddd个长度相同的部分,剩下一个长度为n%dn\%dn%d的子串,然后求出这ddd个长度相同部分的不同排列方案数,假设这个答案是ansdans_dansd,则我们需要求出ANS=∑i=1nansiANS=\sum_{i=1}^nans_{i}ANS=∑i=1nansi。考虑如何求解ansdans_dansd,假设t=n%dt=n\%.原创 2020-11-25 17:21:27 · 458 阅读 · 0 评论 -
acm-(异或、与、或、交互、思维)Codeforces Round #685 (Div. 2) E.Bitwise Queries
传送门本题中数字范围[0,n−1][0,n-1][0,n−1]这个条件以及nnn是2的幂次这个条件是解决问题的关键。首先有个结论:(x&y)+(x∣y)=x+y(x\&y)+(x|y)=x+y(x&y)+(x∣y)=x+y,然后很容易联想到通过计算a1,a2,a3a_1,a_2,a_3a1,a2,a3这三个数两两之间的与或值,来解个方程从而得到它们三个分别的值,然后再让a1a_1a1与剩下的数去异或从而得到其他数的值,可惜这样做要花费6+n−3=n+36+n-3=n+3.原创 2020-11-22 13:04:43 · 223 阅读 · 0 评论 -
acm-(异或、博弈)CF Difficult Problems GameGame
传送门设cnticnt_icnti表示第iii位为1的数的数量。当cnti%2=0cnt_i\%2=0cnti%2=0的时候,容易发现无论怎样博弈最终两方的异或值在这一位上的情况一定是相同的,故这一位不能决定胜负。考虑一个最大的i=ki=ki=k使得cnti%2==1cnt_i\%2==1cnti%2==1,如果cntk−12%2==0\frac {cnt_k-1}2\%2==02cntk−1%2==0,容易发现先手必赢,而当cntk−12%2==1\frac{cnt_k-1}2\%2==.原创 2020-11-20 21:38:56 · 189 阅读 · 0 评论 -
acm-(线性基、nim博弈、SG函数)[2020 China Collegiate Programming Contest, Weihai Site]J.Steins;Game
传送门原创 2020-11-19 15:12:32 · 243 阅读 · 0 评论 -
acm-(二分图、染色)Codeforces Round #680 (Div. 2) E. Team-Building
传送门本题其实就是问有多少组对,满足这些组的所有点形成的子图是个二分图。直接枚举组对是O(n2)O(n^2)O(n2)的,考虑枚举不合法的组对,首先如果同一个组的所有点形成的子图存在奇环那么这个组与其他所有组形成的子图都一定不是一个二分图。然后考虑枚举那些两个端点位于不同组的边。我们将那些两个端点位于不同组的边分一下类,同一个类中我们让每条边的两个端点的所属组别情况都是一样的。对于同一个类的话边一定不会特别多,毕竟总边数才500000500000500000,因此考虑checkcheckcheck同.原创 2020-11-17 12:45:59 · 130 阅读 · 0 评论 -
acm-(思维、异或)Codeforces Round #682 (Div. 2) E. Yurii Can Do Everything
传送门考虑固定lll,假设ala_lal的最高位为kkk,于是我们从lll出发向右暴力枚举rrr的位置,在此期间保证sum(l+1,r−1)<2k+1sum(l+1,r-1)<2^{k+1}sum(l+1,r−1)<2k+1,然后对于每一个rrr都checkcheckcheck是否满足sum(l+1,r−1)=al xor arsum(l+1,r-1)=a_l\,xor\,a_rsum(l+1,r−1)=alxorar,满足的话答案+1+1+1。正着做完一遍后我们反转aaa数组然.原创 2020-11-14 16:21:21 · 215 阅读 · 0 评论 -
acm-(思维、异或、构造)Codeforces Round #682 (Div. 2) D. Powerful Ksenia
传送门本题考虑直接构造,对于nnn为奇数的情况,我们发现只需要按照如下方式就能让所有数变得相同:1,2,31,2,31,2,33,4,53,4,53,4,55,6,75,6,75,6,7.........n−2,n−1,nn-2,n-1,nn−2,n−1,n1,2,n1,2,n1,2,n3,4,n3,4,n3,4,n5,6,n5,6,n5,6,n.........n−4,n−3,nn-4,n-3,nn−4,n−3,n不难发现只需要n−2n-2n−2次操作即可。对于nnn为偶数的情.原创 2020-11-14 12:43:27 · 200 阅读 · 0 评论 -
acm-(贪心、异或、分治、思维)Codeforces Round #673 (Div. 2)E. XOR Inverse
传送门本题让求一个x,使得当数组a中的所有元素与它异或后形成的新数组b中的逆序对最少。异或惯用套路是按位考虑,这里我们从高位开始考虑。当前位的所有元素无非只有0或1两种状态,异或1的话相当于01互换,也就是发生反转,考虑这样异或对数字有何影响,注意该位同为0的数字无论是否反转都不能改变它们的相对大小,该位同为1的数字也不能改变它们的相对大小。这个性质是解题的关键。由于不太好描述,用图来举例。比如现在有5个数字a[0],a[1],a[2],a[3],a[4]\mathbf{a[0],a[1],a[2].原创 2020-09-30 15:09:50 · 339 阅读 · 0 评论