問題一覧 > 通常問題

No.1091 Range Xor Query

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 130
作問者 : null / テスター : butsurizuki
1 ProblemId : 4570 / 自分の提出
問題文最終更新日: 2022-04-25 23:36:25

問題文

長さ NN の数列 a1,a2,,aNa_1, a_2, \dots, a_N があります。
i=lrai=al xor al+1 xor  xor ar\displaystyle \bigoplus_{i = l}^{r} a_i = a_l\ xor\ a_{l+1}\ xor\ \dots\ xor\ a_r とします。
j(1jQ)j(1 \le j \le Q) 番目のクエリでは、i=ljrjai\displaystyle \bigoplus_{i = l_j}^{r_j} a_i を求めてください。
a xor ba\ xor\ b とは、a,ba, b を二進数であらわしたとき、各桁について a,ba, b どちらもビットが立っているまたは立っていないときその桁が 00、それ以外の時に 11 となるような演算です。詳しくは「排他的論理和」で検索してください。

入力

N QN\ Q
a1 a2  aNa_1\ a_2\ \dots\ a_N
l1 r1l_1\ r_1
l2 r2l_2\ r_2
\dots
lQ rQl_Q\ r_Q

1N,Q2×1051 \le N, Q \le 2 \times 10^5
1ai1051 \le a_i \le 10^5
1ljrjN1 \le l_j \le r_j \le N

出力

改行区切りで QQ 行にわたって答えを出力せよ。最後に改行せよ。

サンプル

サンプル1
入力
10 10
4 1 3 10 1 4 9 4 2 7
1 10
10 10
1 5
1 5
2 4
4 10
1 2
1 4
9 9
5 10
出力
1
7
13
13
8
7
5
12
2
13

yukicoder 問題ポリシーに対応のため、サンプルを変更しました。(12/13 23:10)

出典

YSF Beginner Contest: D - Range Xor Query
writer: null
tester: butsuri_0523
HackerRank の規約に基づいて移植されました。一部サイトの都合などで改変したところがあります。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。