[蓝桥杯 2022 省 A] 选数异或

题目描述

给定一个长度为 $n$ 的数列 $A_{1}, A_{2}, \cdots, A_{n}$ 和一个非负整数 $x$, 给定 $m$ 次查询, 每次询问能否从某个区间 $[l, r]$ 中选择两个数使得他们的异或等于 $x$ 。

输入输出格式

输入格式


输入的第一行包含三个整数 $n, m, x$ 。 第二行包含 $n$ 个整数 $A_{1}, A_{2}, \cdots, A_{n}$。 接下来 $m$ 行,每行包含两个整数 $l_{i}, r_{i}$ 表示询问区间 $\left[l_{i}, r_{i}\right]$ 。

输出格式


对于每个询问, 如果该区间内存在两个数的异或为 $x$ 则输出 `yes`, 否则输出 `no`。

输入输出样例

输入样例 #1

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

输出样例 #1

yes
no
yes
no

说明

**【样例说明】** 显然整个数列中只有 2,3 的异或为 1 。 **【评测用例规模与约定】** 对于 $20 \%$ 的评测用例, $1 \leq n, m \leq 100$; 对于 $40 \%$ 的评测用例, $1 \leq n, m \leq 1000$; 对于所有评测用例, $1 \leq n, m \leq 10^5,0 \leq x<2^{20}, 1 \leq l_{i} \leq r_{i} \leq n$ , $0 \leq A_{i}<2^{20}$ 。 蓝桥杯 2022 省赛 A 组 D 题。