#7146. 异或
0
异或
题目描述
小 Z 有一个长度为 的正整数序列 ,序列下标为 。现有一个二维数组 ,执行以下函数:
void init(){
for(int i=0;i<n;i++) b[0][i]=a[i];
for(int i=1;i<n;i++)
for(int j=0;j<n-i;j++) b[i][j]=b[i-1][j]^b[i-1][j+1];
}
现给出 次询问,每次询问给定非负整数 ,保证有 ,请输出 的权值大小。
输入格式
第一行包含 个正整数 。
第二行给定长度为 的正整数数列 。
之后 行,每行给出 个参数 ,表示一次询问。
输出格式
输出 行,每行输出 个整数,表示最终答案。
样例
输入数据 1
4 4
9 5 9 2
1 2
0 0
0 2
3 0
输出数据 1
11
9
9
7
输入数据 2
此样例保证每组询问的 为所有可能的询问中等概率生成的。
点此链接 ex_xor2.in 和 ex_xor2.ans 下载大样例 2 输入和输出数据。
说明/提示
样例 1 解释
序列的形态为:
9 5 9 2
12 12 11
0 7
7
对于每次询问:
数据范围
对于 的数据,。
对于 的数据,数据保证每组询问的 为所有可能的询问中等概率生成的。
对于所有测试数据,,。