#AT2356. Ex - XOR Sum of Arrays
Ex - XOR Sum of Arrays
当前没有测试数据。
Ex - 数组的XOR和
得分:600 分
问题描述
对于长度为$M$的非负整数序列$B=(B_1,B_2,\dots,B_M)$和$C=(C_1,C_2,\dots,C_M)$,定义$B$和$C$的XOR和 $S(B,C)$为长度为$M$的非负整数序列$(B_1\oplus C_1, B_2\oplus C_2, ..., B_{M}\oplus C_{M})$。这里,$\oplus$表示按位异或。
例如,若$B = (1, 2, 3)$,$C = (3, 5, 7)$,则$S(B, C) = (1\oplus 3, 2\oplus 5, 3\oplus 7) = (2, 7, 4)$。
你将得到一个非负整数序列$A = (A_1, A_2, \dots, A_N)$。记$A(i, j)$为由$A$的第$i$个至第$j$个元素组成的连续子序列。接下来你将得到$Q$个查询,并需要对它们进行处理。
每个查询给出整数$a$、$b$、$c$、$d$、$e$和$f$,它们范围在$1$至$N$之间(包含$1$和$N$)。这些整数满足$a \leq b$、$c \leq d$、$e \leq f$、$b-a=d-c$。若$S(A(a, b), A(c, d))$ 严格小于$A(e, f)$,则输出Yes
;否则,输出No
。
什么是按位异或?
两个整数$a$和$b$的按位异或(exclusive logical sum)$a \oplus b$的定义如下:- 在$a \oplus b$的二进制表示中,若$a$和$b$相应位都为$1$或两者都为$0$,则在$2^k$(其中$k \geq 0$)的位置上为$0$,否则为$1$。
什么是序列的字典序?
序列$A = (A_1, \ldots, A_{|A|})$ 严格字典序小于序列$B = (B_1, \ldots, B_{|B|})$当且仅当以下条件之一成立:
- $|A|<|B|$且$(A_{1},\ldots,A_{|A|}) = (B_1,\ldots,B_{|A|})$。
- 存在一个整数$1\leq i\leq \min\{|A|,|B|\}$满足以下两个条件:
- $(A_{1},\ldots,A_{i-1}) = (B_1,\ldots,B_{i-1})$。
- $A_i < B_i$。
约束条件
- $1 \leq N \leq 5 \times 10^5$
- $0 \leq A_i \leq 10^{18}$
- $1 \leq Q \leq 5 \times 10^4$
- $1 \leq a \leq b \leq N$
- $1 \leq c \leq d \leq N$
- $1 \leq e \leq f \leq N$
- $b - a = d - c$
- 输入中的所有值都是整数。
输入
从标准输入中以如下格式给出输入,其中$\text{query}_i$表示第$i$个查询:
查询的格式如下:
``` $a$ $b$ $c$ $d$ $e$ $f$ ```输出
输出$Q$行。第$i$行应输出第$i$个查询的答案。
4 5
1 2 3 1
1 3 2 4 1 4
1 2 2 3 3 4
1 1 2 2 3 4
1 2 2 3 3 3
1 4 1 4 1 1
No
No
Yes
No
Yes
对于第一个查询,有$A(1, 3) = (1, 2, 3)$和$A(2, 4) = (2, 3, 1)$,因此$S(A(1,3),A(2,4)) = (1 \oplus 2, 2 \oplus 3, 3 \oplus 1) = (3, 1, 2)$。而此序列在字典序上大于$A(1, 4) = (1, 2, 3, 1)$,因此答案为No
。
对于第二个查询,有$S(A(1,2),A(2,3)) = (3, 1)$,$A(3,4) = (3, 1)$,它们相等,因此答案为No
。
10 10
725560240 9175925348 9627229768 7408031479 623321125 4845892509 8712345300 1026746010 4844359340 2169008582
5 6 5 6 2 6
5 6 1 2 1 1
3 8 3 8 1 6
5 10 1 6 1 7
3 4 1 2 5 5
7 10 4 7 2 3
3 6 1 4 7 9
4 5 3 4 8 9
2 6 1 5 5 8
4 8 1 5 1 9
Yes
Yes
Yes
Yes
No
No
No
No
No
No