题目描述
给定一个包含 N 个正整数的序列 A=(A1,…,AN)。
进行 Q 个查询。在第 i 个查询中 (1≤i≤Q),判断是否可以从 ALi,ALi+1,…,ARi 中选择一个或多个元素,使它们的按位异或结果等于 Xi。
什么是按位异或?
整数 A 和 B 的按位异或 A XOR B 定义如下:
- 当将 A XOR B 用二进制表示时,如果 A 和 B 中只有一个为 1,则 2k 位 (k≥0) 是 1;否则为 0。
例如,3 XOR 5=6(二进制表示:011 XOR 101=110)。
约束条件
- 1≤N≤4×105
- 1≤Q≤2×105
- 1≤Ai<260
- 1≤Li≤Ri≤N
- 1≤Xi<260
- 输入中的所有值都是整数。
输入
从标准输入中按以下格式给出输入:
N Q
A1 … AN
L1 R1 X1
⋮
LQ RQ XQ
输出
打印 Q 行。第 i 行 (1≤i≤Q) 应该输出 Yes
如果可以从 ALi,ALi+1,…,ARi 中选择一个或多个元素,使它们的按位异或结果等于 Xi,否则输出 No
。
示例输入 1
5 2
3 1 4 1 5
1 3 7
2 5 7
示例输出 1
Yes
No
在第一个查询中,可以选择 A1 和 A3,它们的按位异或结果为 7。
在第二个查询中,无法选择元素使它们的按位异或结果为 7。
示例输入 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