次查 询, 每次询问能否从某个区间 中选择两个数使得他们的异或等于 2.输入格式 输入的第一行包含三个整数 第二行包含 个整数 。接下来 行,每行包含两个整数 表示询问区间 。 3.输出格式 对于每个询问, 如果该区间内存在两个数的异或为 则输出 yes, 否则输出 no。
假设对于二进制位的第 位,数组中一共有 个子区间在该位的异或和为 ,那么该位对答案的贡献为 。这样我们就将整个大问题,拆成了 个子问题,原数组相当于被我们拆分为 个 对于每个子问题,也就是对于每个 数组,我们需要求出有多少子数组的异或和为 ,也就是求出前面所说的 。这个问题我们可以通过前缀异或来解决。