QOJ.ac

QOJ

Time Limit: 2.5 s Memory Limit: 1024 MB Total points: 100

#8258. 礼物交换

Statistics

JOI 学院有 $N$ 名学生,编号为 $1$ 到 $N$。

JOI 学院即将举办一场礼物交换派对。每位学生都准备了一份礼物带到派对上,学生 $i$ ($1 \le i \le N$) 带来的礼物价值为 $A_i$。学生们不愿意收到价值远低于自己所带礼物价值的礼物。具体来说,如果学生 $i$ 收到的礼物价值严格小于 $B_i$,他们就会感到不满。这里始终满足 $B_i < A_i$。

然而,这 $N$ 名学生中可能有人不会参加派对。JOI 学院的 K 校长正在考虑 $Q$ 组可能的学生群体,第 $j$ 组 ($1 \le j \le Q$) 由 $R_j - L_j + 1$ 名学生组成,即学生 $L_j, L_j + 1, \dots, R_j$。

对于某些由两名或两名以上学生组成的群体,如果可以在该群体内交换礼物,使得没有人收到自己的礼物且没有人感到不满,则称该群体是“礼物可交换的”。更正式地说,一个由 $m$ 名学生 ($m \ge 2$) 组成的群体 $p_1, p_2, \dots, p_m$ 是礼物可交换的,当且仅当存在一个序列 $q_1, q_2, \dots, q_m$,它是 $p_1, p_2, \dots, p_m$ 的一个排列,并满足以下所有条件。这里,$q_k$ ($1 \le k \le m$) 表示将礼物送给学生 $p_k$ 的学生编号。

  • 对于所有 $k$ ($1 \le k \le m$),$p_k \neq q_k$。
  • 对于所有 $k$ ($1 \le k \le m$),$A_{q_k} \ge B_{p_k}$。

K 校长非常希望礼物交换派对能够成功举办,因此他想要检查这 $Q$ 个群体中的每一个是否是礼物可交换的。

请编写一个程序,在给定学生和群体信息的情况下,确定这 $Q$ 个群体中的每一个是否是礼物可交换的。

输入格式

从标准输入读取以下数据:

$N$ $A_1 \ A_2 \ \dots \ A_N$ $B_1 \ B_2 \ \dots \ B_N$ $Q$ $L_1 \ R_1$ $L_2 \ R_2$ $\vdots$ $L_Q \ R_Q$

输出格式

向标准输出写入 $Q$ 行。在第 $j$ 行 ($1 \le j \le Q$),如果第 $j$ 个群体是礼物可交换的,则输出 Yes,否则输出 No。

数据范围

  • $2 \le N \le 500\,000$。
  • $1 \le B_i < A_i \le 2N$ ($1 \le i \le N$)。
  • $A_1, B_1, A_2, B_2, \dots, A_N, B_N$ 互不相同。
  • $1 \le Q \le 200\,000$。
  • $1 \le L_j < R_j \le N$ ($1 \le j \le Q$)。
  • 给定值均为整数。

子任务

  1. (4 分) $N \le 10, Q \le 10$。
  2. (5 分) $N \le 18, Q \le 10$。
  3. (10 分) $N \le 100\,000, A_1 \ge 2N - 2, B_1 = 1, Q = 1, L_1 = 1, R_1 = N$。
  4. (31 分) $N \le 100\,000, Q \le 10$。
  5. (8 分) $N \le 100\,000, A_i < A_{i+1}, B_i < B_{i+1}$ ($1 \le i \le N - 1$)。
  6. (12 分) $N \le 100\,000, A_i < A_{i+1}$ ($1 \le i \le N - 1$)。
  7. (18 分) $N \le 100\,000$。
  8. (12 分) 无附加限制。

样例

样例输入 1

4
3 8 5 7
2 6 1 4
3
3 4
1 3
1 4

样例输出 1

Yes
No
Yes

说明

第一个群体由学生 3 和 4 组成。如果学生 3 收到学生 4 的礼物,学生 4 收到学生 3 的礼物,由于 $A_3 \ge B_4$ 且 $A_4 \ge B_3$,两名学生都不会感到不满。因此,该群体是礼物可交换的,第一行输出 Yes。

第二个群体由学生 1, 2, 3 组成。由于 $A_1 < B_2$ 且 $A_3 < B_2$,无论学生 2 收到学生 1 还是学生 3 的礼物,都会感到不满。因此,该群体不是礼物可交换的,第二行输出 No。

第三个群体由学生 1, 2, 3, 4 组成。例如,如果学生 1 收到学生 2 的礼物,学生 2 收到学生 4 的礼物,学生 3 收到学生 1 的礼物,学生 4 收到学生 3 的礼物,则没有学生会感到不满。因此,该群体是礼物可交换的,第三行输出 Yes。

该样例输入满足子任务 1, 2, 4, 7, 8 的限制。

样例输入 2

3
5 6 3
1 4 2
1
1 3

样例输出 2

Yes

说明

该样例输入满足子任务 1, 2, 3, 4, 7, 8 的限制。

样例输入 3

5
3 4 6 9 10
1 2 5 7 8
3
1 5
1 2
2 4

样例输出 3

No
Yes
No

说明

该样例输入满足子任务 1, 2, 4, 5, 6, 7, 8 的限制。

样例输入 4

10
2 5 8 10 12 14 16 17 19 20
1 4 7 6 11 13 9 3 18 15
8
2 9
1 6
2 8
2 4
1 2
1 6
7 10
5 8

样例输出 4

No
No
Yes
No
No
No
Yes
Yes

说明

该样例输入满足子任务 1, 2, 4, 6, 7, 8 的限制。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.