问题陈述
对于长度为 M 的非负整数序列 B=(B1,B2,…,BM) 和 C=(C1,C2,…,CM),定义 B 和 C 的 异或和 S(B,C) 为由非负整数组成的长度为 M 的序列 $(B_1\oplus C_1, B_2\oplus C_2, \ldots, B_{M}\oplus C_{M})$,其中 ⊕ 表示按位异或。
例如,如果 B=(1,2,3) 和 C=(3,5,7),则 $S(B, C) = (1\oplus 3, 2\oplus 5, 3\oplus 7) = (2, 7, 4)$。
给定一个非负整数序列 A=(A1,A2,…,AN)。定义 A(i,j) 为由 A 的第 i 到第 j 个元素构成的连续子序列。
您将获得以下解释的 Q 个查询,并被要求处理所有查询。
每个查询都会给出整数 a、b、c、d、e 和 f,它们都在 1 到 N 之间(包括 1 和 N)。这些整数满足 a≤b、c≤d、e≤f,且 b−a=d−c。如果 S(A(a,b),A(c,d)) 在字典排序上严格小于 A(e,f),则打印 Yes
;否则,打印 No
。
什么是按位异或?两个整数 a 和 b 的排他逻辑和 a⊕b 定义如下。
- a⊕b 的二进制表示法中的第 2k 位(k≥0)如果是 1,那么就是当且仅当 a 和 b 的二进制表示法中的 2k 位中只有一个是 1 时;否则,它是 0。
例如,3⊕5=6(二进制表示法中:011⊕101=110)。什么是序列的字典排序?
一个序列 A=(A1,…,A∣A∣) 被称为 严格小于 序列 B=(B1,…,B∣B∣),当且仅当满足以下条件之一:
- ∣A∣<∣B∣ 并且 (A1,…,A∣A∣)=(B1,…,B∣A∣)。
- 存在一个整数 1≤i≤min{∣A∣,∣B∣},满足以下两个条件。
- (A1,…,Ai−1)=(B1,…,Bi−1)。
- Ai<Bi。
约束条件
- 1≤N≤5×105
- 0≤Ai≤1018
- 1≤Q≤5×104
- 1≤a≤b≤N
- 1≤c≤d≤N
- 1≤e≤f≤N
- b−a=d−c
- 输入中的所有值都是整数。
输入
输入以标准输入给出,格式如下,其中 queryi 表示第 i 个查询:
N Q
A1 A2 … AN
query1
query2
⋮
queryQ
查询的格式如下:
a b c d e f
输出
打印 Q 行。第 i 行应包含第 i 个查询的答案。
示例输入 1
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
示例输出 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
。
示例输入 2
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
示例输出 2
Yes
Yes
Yes
Yes
No
No
No
No
No
No