atcoder#ABC223H. [ABC223H] Xor Query

[ABC223H] Xor Query

题目描述

長さ N N の正整数列 A = (A1, , AN) A\ =\ (A_1,\ \dots,\ A_N) が与えられます。

Q Q 個のクエリを処理してください。i  (1  i  Q) i\ \,\ (1\ \leq\ i\ \leq\ Q) 番目のクエリでは、ALi, ALi + 1, , ARi A_{L_i},\ A_{L_i\ +\ 1},\ \dots,\ A_{R_i} から 1 1 つ以上の要素を選び、それらの排他的論理和を Xi X_i にできるかどうか判定してください。

排他的論理和とは 整数 a, b a,\ b のビットごとの排他的論理和 a xor b a\ \mathrm{xor}\ b は、以下のように定義されます。

  • a xor b a\ \mathrm{xor}\ b を二進表記した際の 2k  (k  0) 2^k\ \,\ (k\ \geq\ 0) の位の数は、a, b a,\ b を二進表記した際の 2k 2^k の位の数のうち一方のみが 1 1 であれば 1 1 、そうでなければ 0 0 である。

例えば、3 xor 5 = 6 3\ \mathrm{xor}\ 5\ =\ 6 となります(二進表記すると: 011 xor 101 = 110 011\ \mathrm{xor}\ 101\ =\ 110 )。

输入格式

入力は以下の形式で標準入力から与えられる。

N N Q Q A1 A_1 \ldots AN A_N L1 L_1 R1 R_1 X1 X_1 \vdots LQ L_Q RQ R_Q XQ X_Q

输出格式

Q Q 行にわたって出力せよ。i  (1  i  Q) i\ \,\ (1\ \leq\ i\ \leq\ Q) 行目には、ALi, ALi + 1, , ARi A_{L_i},\ A_{L_i\ +\ 1},\ \dots,\ A_{R_i} から 1 1 つ以上の要素を選び、それらの排他的論理和を Xi X_i にできるならば Yes と、できないならば No と出力せよ。

题目大意

  • 给定一个长度为 NN 正整数序列 AAQQ 次询问。
  • 每次询问给出三个正整数 LLRRXX,请你判断能否从原序列 ALA_LAL+1A_{L+1},... ,ARA_R 中选出若干个数使其异或和为 XX
5 2
3 1 4 1 5
1 3 7
2 5 7
Yes
No
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
No
No
Yes
No
Yes
No
No
No
Yes
Yes

提示

制約

  • 1  N  4 × 105 1\ \leq\ N\ \leq\ 4\ \times\ 10^5
  • 1  Q  2 × 105 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5
  • 1  Ai < 260 1\ \leq\ A_i\ \lt\ 2^{60}
  • 1  Li  Ri  N 1\ \leq\ L_i\ \leq\ R_i\ \leq\ N
  • 1  Xi < 260 1\ \leq\ X_i\ \lt\ 2^{60}
  • 入力は全て整数である。

Sample Explanation 1

1 1 つ目のクエリでは、A1, A3 A_1,\ A_3 を選ぶことで排他的論理和を 7 7 にすることができます。 2 2 つ目のクエリでは、どのように要素を選んでも排他的論理和を 7 7 にすることはできません。