编程题
### 问题描述 给出 $N$ 条线段的左右端点 $L,R$ ,进行 $T$ 次操作。有以下两种操作: - 输入 `1 a b` ,意味着将第 $a$ 条线段的右端点改为 $b$ ,保证右端点始终大于左端点。 - 输入 `2` ,代表询问是否存在一个线段完全覆盖另一个线段; 若存在请输出 `Yes` ,否则输出 `No `。 **线段完全覆盖**的数学语言描述为:对于线段 $i$ 完全覆盖线段 $j$ ,则满足 $L_i < L_j$ 且 $R_j < R_i$ 。 ### 输入格式 所有输入均是整数。 第 $1$ 行包含两个正整数 $N,\; T$ ,表示线段条数和操作次数。 然后第 $2 \sim N+1$ 行输入两个整数,代表第 $1\sim N$ 条边的左右端点 $L_i,\;R_i$ 。 然后接下来 $T$ 行,每行包含 $1$ 或 $3$ 个数字,表示一种操作,具体如下: - `1 a b`,将第 $a$ 条线段改为 $b$ 。 - `2` ,进行询问是否存在线段完全覆盖。 ### 输出格式 输出若干行 `Yes` 或 `No`,即为所有查询操作的结果。 ### 输入样例1 ```txt 4 5 2 3 2 4 1 4 4 6 2 1 1 4 2 1 3 7 2 ``` ### 输出样例1 ```txt Yes No Yes ``` ### 说明 初始线段为 $[2,3],[2,4],[1,4],[4,6]$ ; 第一次操作询问,存在 $[1,4]$ 完全覆盖 $[2,3]$ ,输出 `Yes` ; 第二次操作修改,此时线段为 $[2,4],[2,4],[1,4],[4,6]$ ; 第三次操作询问,不存在线段完全覆盖,输出 `No`; 第四次操作修改,此时线段为 $[2,4],[2,4],[1,7],[4,6]$ ; 第五次操作询问,此时存在 $[1,7]$ 完全覆盖 $[2,4],[2,4],[4,6]$,输出 `Yes`。 ### 输入样例2 ```txt 7 8 19 29 25 79 20 60 21 70 20 30 20 30 20 30 1 6 80 2 1 5 60 2 1 6 30 2 1 1 31 2 ``` ### 样例输出2 ```txt Yes Yes No Yes ``` ### 数据范围 对于 $20$% 数据满足 $2\leq N \leq 10$ ,$1 \leq T \leq 10$ 。 对于 $30$% 数据满足 $2\leq N \leq 1000$ ,$T = 50$ 。 对于所有数据满足 $2\leq N \leq 10^5$ ,$1\leq T \leq 50$,$2 \leq L < R,b \leq 10^9$ ,$1\leq a \leq N$。
查看答案
赣ICP备20007335号-2