假设对于二进制位的第 位,数组中一共有 个子区间在该位的异或和为 ,那么该位对答案的贡献为 。这样我们就将整个大问题,拆成了 个子问题,原数组相当于被我们拆分为 个 对于每个子问题,也就是对于每个 数组,我们需要求出有多少子数组的异或和为 ,也就是求出前面所说的 。这个问题我们可以通过前缀异或来解决。