SP28352 FRNDZND - Friend Zoned
题目描述
Pavel 想要向心上人求婚,但她没有立即答应,而是给了他一个有 $N$ 个整数的数组,并要求他回答 $M$ 个关于这个数组的查询。每个查询由两个整数 $L$ 和 $R$ 组成。
对于每一个查询,Pavel 需要进行以下步骤:
1. 从数组中选取索引为 $L$ 到 $R$ 的元素,将它们插入到一个多重集合中。多重集合允许重复元素存在。假设插入之后,多重集合的大小为 $k$,也就是 $k = R - L + 1$。
2. 接下来,他要生成这个多重集合的所有可能子集(包括空集)。对于每一个子集,计算子集中所有元素的异或值。这样可以得到 $2^k$ 个不同的异或值。请注意,对于空集,异或值为 $0$。
3. 最后,将这 $2^k$ 个异或值进行一次总的异或运算,得到的结果就是他的回答。
如果 Pavel 能够正确回答所有的查询,她将会重新考虑这段关系。你能帮助他解决这些问题吗?
输入格式
第一行输入两个整数 $N$ 和 $Q$。第二行包含 $N$ 个整数,这些数构成了数组。接下来的 $Q$ 行,每行包含两个整数 $L$ 和 $R$,代表一个查询。
输出格式
对每个查询输出一个整数,分别表示对应查询的答案。输出顺序应与输入顺序相同。
说明/提示
- $1 \le N, Q \le 10^5$
- $1 \le L \le R \le N$
- $0 \le 数组中的数 \le 10^9$
**本翻译由 AI 自动生成**