CF1935E Distance Learning Courses in MAC
题目描述
新年到来了,Master's Assistance Center 也迎来了新功能!
现在学生们可以参加远程学习课程,总共有 $n$ 门课程可选。对于第 $i$ 门远程课程,学生可以获得的成绩范围是 $x_i$ 到 $y_i$。
然而,并不是每个学生都能选修所有课程。具体来说,第 $j$ 个学生只能选修编号从 $l_j$ 到 $r_j$ 的课程,也就是第 $l_j, l_j + 1, \ldots, r_j$ 门课程。
远程课程的设计者决定用一种特殊的方式来确定最终成绩。假设第 $j$ 个学生在其可选的远程课程中分别获得成绩 $c_{l_j}, c_{l_j + 1}, \ldots, c_{r_j}$,那么他的最终成绩为 $c_{l_j} \mid c_{l_j + 1} \mid \ldots \mid c_{r_j}$,其中 $\mid$ 表示[按位或](https://en.wikipedia.org/wiki/Bitwise_operation#OR)运算。
由于用于解决远程课程的聊天机器人坏了,学生们请求你的帮助。对于每个学生,请告诉他们能够获得的最大最终成绩。
输入格式
每个测试包含多组测试数据。第一行包含一个整数 $t$($1 \leq t \leq 2 \cdot 10^4$)——测试数据的组数。每组测试数据描述如下。
每组测试数据的第一行包含一个整数 $n$($1 \le n \le 2 \cdot 10^5$)——远程课程的数量。
接下来的 $n$ 行,每行包含两个整数 $x_i$ 和 $y_i$($0 \le x_i \le y_i < 2^{30}$)——第 $i$ 门课程可以获得的最小和最大成绩。
接下来一行包含一个整数 $q$($1 \le q \le 2\cdot10^5$)——学生人数。
接下来的 $q$ 行,每行包含两个整数 $l_j$ 和 $r_j$($1 \le l_j \le r_j \le n$)——第 $j$ 个学生可选的课程编号范围。
保证所有测试数据中 $n$ 的总和以及 $q$ 的总和均不超过 $2\cdot10^5$。
输出格式
对于每组测试数据,输出 $q$ 个整数,第 $j$ 个整数表示第 $j$ 个学生能够获得的最大最终成绩。
说明/提示
在第一个测试数据中:
1. 第一个学生的最大成绩为 $1$:
- 在第一门远程课程中,他可以获得 $1$ 分。
- 因此,最终成绩为 $1$。
2. 第二个学生的最大成绩为 $5$:
- 在第一门远程课程中,他可以获得 $1$ 分。
- 在第二门远程课程中,他可以获得 $4$ 分。
- 因此,最终成绩为 $1 \mid 4 = 5$。
3. 第三个学生的最大成绩为 $4$:
- 在第二门远程课程中,他可以获得 $4$ 分。
- 因此,最终成绩为 $4$。
在第二个测试数据中:
1. 第一个学生的最大成绩为 $15$:
- 在第一门远程课程中,他可以获得 $7$ 分。
- 在第二门远程课程中,他可以获得 $4$ 分。
- 在第三门远程课程中,他可以获得 $8$ 分。
- 因此,最终成绩为 $7 \mid 4 \mid 8 = 15$。
2. 第二个学生的最大成绩为 $11$:
- 在第三门远程课程中,他可以获得 $9$ 分。
- 在第四门远程课程中,他可以获得 $2$ 分。
- 因此,最终成绩为 $9 \mid 2 = 11$。
由 ChatGPT 4.1 翻译