题目描述
给定一个长度为 n 的数列 a,有 q 次询问。每次询问给定两个整数 l,r,请求出 al⊕al+1⊕⋯⊕ar 的值,即第 l 个数到第 r 个数的按位异或和。
其中 ⊕ 表示按位异或运算(C++ 中为 ^ 运算符)。
输入格式
第一行两个整数 n,q,表示数列长度和询问次数。
第二行 n 个整数 a1,a2,…,an。
接下来 q 行,每行两个整数 l,r,表示一次询问。保证 1≤l≤r≤n。
输出格式
共 q 行,第 i 行输出第 i 次询问的答案。
说明/提示
数据规模与约定
对于 100% 的数据,保证 1≤n,q≤105,0≤ai≤109。
本题为本校训练自编题(参照经典题型)。