D. 异或 xor

    Type: Default 2000ms 512MiB

异或 xor

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

##问题描述 DavidDavid 最近正在研究异或运算,异或运算拥有许多美妙的性质。为了更好的 理解异或运算,他需要做如下的一个实验:

有一个 nn 个元素的数列 aa,要进行 mm 次查询,每次查询形式如下:

1.给出两个整数l,r1. 给出两个整数 l, r ,表示查询区间的左右端点

2.取出区间[l,r]2. 取出区间 [l, r] 中的所有出现了偶数次的整数。比如 1,2,1,2,11, 2, 1, 2, 1 ,则会 取出一个数2 2

3.3. 将取出来的数全部异或起来,并将该异或值作为本次查询的答案。形 式化来说,设取出的数为 x1,x2,...,xnx1, x2, ..., xn,则计算 x1x2,x1 ⊕x2, ...,xn⊕...⊕, xn, 其中 表示异或运算

由于 DavidDavid 计算能力很差,于是他请你来帮他计算一下每次询问的答案 ##输入格式 第一行一个整数 nn,表示数列的长度 接下来一行 nn 个非负整数,表示 aa 数组中的每个元素 接下来一行一个整数 mm,表示查询的数量 接下来m m 行,每行两个整数l,r l, r 表示这次查询区间的左右端点 ##输出格式 对于每组查询,输出一行一个整数,表示这组查询的答案 ##样例输入 1

3
3 7 8
1
1 3

##样例输出 1

0

##样例输入 2

7
1 2 1 3 3 2 3
5
4 7
4 5
1 3
1 7
1 5

##样例输出 2

0
3
1
3
2

##样例解释 对于第二组样例:第一组询问区间中没有一个出现偶数次的数字,所以输出00

第二组询问区间中,33 出现了偶数次,所以答案为 33

第三组询问中,11 出现了偶数次,所以答案为 11

第四组询问中,1,21, 2 出现了偶数次,所以答案为 12=31⊕2 = 3

第五组询问中,1,31, 3 出现了偶数次,所以答案为 13=21⊕3 = 2

##数据范围及约定 存在 10% 的数据,数列中没有两个一样的数

另外存在 25% 的数据,n,m1000,ai1000n, m ≤ 1000, ai ≤ 1000

另外存在 20% 的数据,n,m1000n, m ≤ 1000

另外存在 20% 的数据,0ai10 ≤ ai ≤ 1

对于 100% 的数据,n,m300000,0ai1000000000,1lrnn, m ≤ 300000, 0 ≤ ai ≤ 1000000000, 1 ≤ l ≤ r ≤ n

10.23

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2023-10-23 18:40
End at
2023-10-23 20:20
Duration
1.7 hour(s)
Host
Partic.
1