[JOI 2024 Final] 礼物交换 / Gift Exchange

Luogu
IDLGP10208
Time2500ms
Memory1024MB
DifficultyP6
线段树2024JOI(日本)
JOI 学园有 $N$ 名学生,每个学生都有一个从 $1$ 到 $N$ 的编号。 JOI 学园计划近期举办一个礼物交换会。每个学生都要准备一份礼物带到会场,学生 $i\ (1 \leq i \leq N)$ 带来的礼物的价值是 $A_{i}$ 。学生们都不喜欢收到比自己带来的礼物价值低很多的礼物,具体来说,学生 $i$ 如果收到价值低于 $B_{i}$ 的礼物,就会感到不满。保证 $B_{i}<A_{i}$。 不过,并不是所有 $N$ 名学生都会真的参加礼物交换会。JOI 学园的校长 K 正在考虑 $Q$ 种可能参加礼物交换会的学生组合,第 $j\ (1 \leq j \leq Q)$ 种组合由 $R_{j}-L_{j}+1$ 名学生 $L_{j}, L_{j}+1, \ldots, R_{j}$ 组成。 对于一个由 $2$ 人以上的学生组成的组合,如果他们可以在组内互换礼物,而不会有人收到自己带来的礼物或者不满意的礼物,那么这个组合就是可行的。准确地说,由 $m$ 名 $(m \geq 2)$ 学生 $p_{1}, p_{2}, \ldots, p_{m}$ 组成的组合是可行的,当且仅当存在一个由 $p_{1}, p_{2}, \ldots, p_{m}$ 重新排列得到的数列 $q_{1}, q_{2}, \ldots, q_{m}$,这里 $q_{k}\ (1 \leq k \leq m)$ 表示给学生 $p_{k}$ 送礼物的学生的编号,满足以下的条件: - 对于所有的 $k\ (1 \leq k \leq m)$ ,$p_{k} \neq q_{k}$。 - 对于所有的 $k\ (1 \leq k \leq m)$ ,$A_{q_{k}} \geq B_{p_{k}}$。 校长 K 想要让礼物交换会成功的,所以他想要知道这 $Q$ 个组合中,哪些是可行的。 给定学生的信息和组合的信息,对于每个组合,判断它是否是可行的,并编写一个程序来输出结果。 ## Input 第一行包含一个整数 $N$。 第二行包含 $N$ 个用空格分隔的整数 $A_1,A_2,\ldots ,A_N$。 第三行包含 $N$ 个用空格分隔的整数 $B_1,B_2,\ldots ,B_N$。 第四行包含一个整数 $Q$。 接下来的 $Q$ 行,每行包含两个整数 $L_i,R_i$。 ## Output 输出 $Q$ 行,第 $j\ (1 \leq j \leq Q)$ 行如果第 $j$ 个组合是可行的输出 Yes,否则输出 No。 [samples] ## Note **样例解释** 第一个组合是由 2 名学生 3,4 组成的。如果学生 3 收到学生 4 的礼物,学生 4 收到学生 3 的礼物,那么由于 $A_{3} \geq B_{4} 且 A_{4} \geq B_{3}$ ,所以两个学生都不会不满。因此,这个组合是可行的,所以在第一行输出 Yes。 第二个组合是由 3 名学生 1,2,3 组成的。由于 $A_{1}<B_{2}$ 且 $A_{3}<B_{2}$ ,所以学生 2 不管收到学生 1 还是学生 3 的礼物,都会感到不满。因此,这个组合不是可行的,所以在第二行输出 No。 第三个组合是由 4 名学生 1,2,3,4 组成的。例如,如果学生 1 收到学生 2 的礼物,学生 2 收到学生 4 的礼物,学生 3 收到学生 1 的礼物,学生 4 收到学生 3 的礼物,那么没有人会不满。因此,这个组合是可行的,所以在第三行输出 Yes。 这个样例满足子任务 1,2,4,7,8 的限制。 **数据范围** 对于所有输入数据,满足: - $2 \leq N \leq 5\times 10^5$ - $1 \leq B_{i}<A_{i} \leq 2N\ (1 \leq i \leq N)$ - $A_{1}, B_{1}, A_{2}, B_{2}, \ldots, A_{N}, B_{N}$ 各不相同 - $1 \leq Q \leq 2\times 10^5$ - $1 \leq L_{j}<R_{j} \leq N\ (1 \leq j \leq Q)$ 详细子任务附加限制及分值如下表所示。 |子任务| 附加限制| 分值| |:-:|:-:|:-:| |1| $N \leq 10, Q \leq 10$| 4 |2| $N \leq 18, Q \leq 10$| 5 |3| $N \leq 10^5, A_{1} \geq 2 N-2, B_{1}=1, Q=1, L_{1}=1, R_{1}=N$| 10 |4| $N \leq 10^5, Q \leq 10$| 31 |5| $N \leq 10^5, A_{i}<A_{i+1}, B_{i}<B_{i+1}\ (1 \leq i \leq N-1)$| 8 |6| $N \leq 10^5, A_{i}<A_{i+1}\ (1 \leq i \leq N-1)$| 12 |7| $N \leq 10^5$| 18 |8| 无附加限制 |12
Samples
Input #1
4
3 8 5 7
2 6 1 4
3
3 4
1 3
1 4
Output #1
Yes
No
Yes
API Response (JSON)
{
  "problem": {
    "name": "[JOI 2024 Final] 礼物交换 / Gift Exchange",
    "description": {
      "content": "JOI 学园有 $N$ 名学生,每个学生都有一个从 $1$ 到 $N$ 的编号。 JOI 学园计划近期举办一个礼物交换会。每个学生都要准备一份礼物带到会场,学生 $i\\ (1 \\leq i \\leq N)$ 带来的礼物的价值是 $A_{i}$ 。学生们都不喜欢收到比自己带来的礼物价值低很多的礼物,具体来说,学生 $i$ 如果收到价值低于 $B_{i}$ 的礼物,就会感到不满。保证 $B_{i}<",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 2500,
      "memory_limit": 1048576
    },
    "difficulty": {
      "LuoguStyle": "P6"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10208"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "JOI 学园有 $N$ 名学生,每个学生都有一个从 $1$ 到 $N$ 的编号。\n\nJOI 学园计划近期举办一个礼物交换会。每个学生都要准备一份礼物带到会场,学生 $i\\ (1 \\leq i \\leq N)$ 带来的礼物的价值是 $A_{i}$ 。学生们都不喜欢收到比自己带来的礼物价值低很多的礼物,具体来说,学生 $i$ 如果收到价值低于 $B_{i}$ 的礼物,就会感到不满。保证 $B_{i}<...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments