#cpsco2019s1e. [cpsco2019_s1_e]Exclusive OR Queries
[cpsco2019_s1_e]Exclusive OR Queries
问题描述
给定一个长度为 的整数序列 。请按顺序处理以下 个查询。
- 从序列中选择值大于等于 且小于等于 的元素,并计算它们的异或值作为答案。然后将选定的元素全部更新为 。如果不存在大于等于 且小于等于 的整数,则答案为 。
异或值定义如下:
整数 的异或值 可以通过以下方式计算:
- 将 表示为二进制形式,若 在二进制表示中的第 () 位有奇数个 ,则 的二进制表示的第 位为 ,否则为 。
例如, 和 的异或值是 (二进制表示为:011
和 101
的异或值为 110
)。
约束条件
- 输入均为整数
输入
输入以以下格式从标准输入中给出。
输出
输出 行。第 行输出对应第 个查询的答案。
示例 1
5 2
7 4 1 5 9
7 10 2
2 8 5
输出 1
14
1
- 在第一个查询中,大于等于 且小于等于 的整数有 和 ,它们的异或值为 。然后将这两个元素更新为 ,序列变为 。
- 在第二个查询中,大于等于 且小于等于 的整数有 ,它们的异或值为 。然后将这四个元素更新为 ,序列变为 。
示例 2
1 1
5
1 3 2
输出 2
0
如果不存在满足条件的 ,则答案为 。此时不进行更新。
示例 3
15 10
76 87 42 60 30 58 52 82 42 13 81 8 97 5 87
4 11 92
56 60 68
90 100 24
30 35 15
12 17 53
24 32 31
0 6 85
74 82 55
69 72 30
50 61 49
输出 3
13
6
97
30
2
24
0
79
0
3