A89714.区间异或查询

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个长度为 nn 的数组 a1,a2,,ana_1,a_2,\dots,a_n。接下来有 qq 次询问,每次给出一对下标 (l,r)(l,r)1lrn1\le l\le r\le n),你需要输出区间 [l,r][l,r] 上所有元素按位异或的结果,即:

alal+1al+2ar1ara_l \oplus a_{l+1} \oplus a_{l+2} \oplus \cdots \oplus a_{r-1} \oplus a_r

注:\oplus 表示按位异或(bitwise XOR)。

输入格式

第一行包含两个整数 n,qn,q

第二行包含 nn 个整数,依次为 a1,a2,,ana_1,a_2,\dots,a_n

接下来 qq 行,每行包含两个整数 l,rl,r1lrn1\le l\le r\le n)。

输出格式

输出共 qq 行,其中第 ii 行是第 ii 个询问的答案(一个整数)。

输入输出样例

  • 输入#1

    5 5
    1 2 3 4 5
    1 1
    1 3
    2 4
    3 5
    1 5
    

    输出#1

    1
    0
    5
    2
    1
    

说明/提示

1n,q21051\le n,q\le 2\cdot 10^5

1ai1091\le a_i\le 10^9

1lrn1\le l\le r\le n

对于样例:
询问 [1,1][1,1]:结果为 11
询问 [1,3][1,3]123=01\oplus2\oplus3=0
询问 [2,4][2,4]234=52\oplus3\oplus4=5
询问 [3,5][3,5]345=23\oplus4\oplus5=2
询问 [1,5][1,5]12345=11\oplus2\oplus3\oplus4\oplus5=1

首页