AT_abc223_h [ABC223H] Xor Query
题目描述
给定一个长度为 N 的正整数序列 A=(A1,…,AN)。
请处理 Q 个查询。对于第 i 个查询(1≤i≤Q),判断是否可以从 ALi,ALi+1,…,ARi 中选择至少一个元素,使得它们的异或和等于 Xi。
异或和的定义如下:对于整数 a,b,它们的按位异或 axorb 定义为:
- axorb 的二进制表示中,第 2k 位(k≥0)的数,如果 a,b 的二进制表示中该位只有一个为 1,则为 1,否则为 0。
例如,3xor5=6(二进制表示为:011xor101=110)。
输入格式
输入以以下格式从标准输入读入。
N Q
A1 A2 … AN
L1 R1 X1
⋮
LQ RQ XQ
输出格式
输出共 Q 行。对于第 i 个查询(1≤i≤Q),如果可以从 ALi,ALi+1,…,ARi 中选择至少一个元素,使得它们的异或和等于 Xi,则输出 Yes,否则输出 No。
输入输出样例 #1
输入 #1
5 2
3 1 4 1 5
1 3 7
2 5 7
输出 #1
Yes
No
输入输出样例 #2
输入 #2
10 10
8 45 56 9 38 28 33 5 15 19
10 10 53
3 8 60
1 10 29
5 7 62
3 7 51
8 8 52
1 4 60
6 8 32
4 8 58
5 9 2
输出 #2
No
No
Yes
No
Yes
No
No
No
Yes
Yes
说明/提示
数据范围
- 1≤N≤4×105
- 1≤Q≤2×105
- 1≤Ai<260
- 1≤Li≤Ri≤N
- 1≤Xi<260
- 输入均为整数。
样例解释 1
对于第 1 个查询,可以选择 A1,A3,使得异或和为 7。对于第 2 个查询,无论如何选择元素,都无法使异或和为 7。
由 ChatGPT 4.1 翻译