题目链接:https://www.luogu.org/problemnew/show/P3917
思路:把序列转换成一颗n+1个节点n条边边权分别为a1 a2 ....an的树(链),每一个区间相当于树上的一条路径,那么问题就转换为求树上任意两点间路径的异或和,令dis[i]为根节点到i的路径异或和,对于两个点u和v,dis[u]^dis[v]对答案的贡献为,i为二进制第i位。
显然,第i位为0和第i位为1 的两个数异或才会对答案有贡献,另cnt[i]为在第i位为1的数量,那么在第i位异或为1的方案数就是,那么答案就是
。