给一个序列
询问这个序列
1:所有子区间的异或值的和
2:所有子区间的和的异或值
第一个操作,拆二进制位,枚举右端点r,记录这个位前r个数字0/1的个数,右端点转移O(1)
第二个操作比较复杂,对于每个右端点要询问sum[r]-sum[l-1]mod(2^(k+1))>=2^k的左端点个数(的奇偶性)
题解用了树状数组维护,参考skywalkert,题解里对于模不等式的解释很巧妙,复习的时候多看看吧
#include
#include
#include
#include
#include
#include
#include
#include