[数论] 异或

异或的性质

异或可抵消

a xor b xor b = a

异或可交换

a xor b xor b = b xor b xor a

异或可以看成模2的加法

[数论] 异或_第1张图片

遇0不变,遇1则变,双1则不变

所以上面的结果是1

求异或和

先看看加法的前缀和

类比,我们可以得到 范围(L,R)的异或和,设 S_R 表示从1到R的元素异或和,将S_L-1 与S_R异或

来解释一下为什么,展开来看

[数论] 异或_第2张图片

因为相同两项异或可抵消,所以S_L-1 与S_R异或之后,刚好剩下从 a_L 一直异或到 a_R

S_L-1 = S_L-1 ^ a_L

你可能感兴趣的:(蓝桥杯,学习)