CF869E The Untended Antiquity
题目描述
告别了,朋友。
Koyomi 正在帮他的熟人 Oshino 照看位于被废弃的 Eikou 补习学校大楼周围的空地,这也是 Oshino 临时居住的地方。
这片空地用一个 $n \times m$ 的矩形网格表示,一共 $n$ 行 $m$ 列。第 $r$ 行第 $c$ 列的格子记为 $(r, c)$。
Oshino 会在一些矩形区域的四周放置或移除障碍物。具体地," $1\ r_{1}\ c_{1}\ r_{2}\ c_{2}$ " 表示 Oshino 在以 $(r_{1},c_{1})$ 和 $(r_{2},c_{2})$ 为对角线、且边与格子边平行的矩形区域周围放置障碍物。类似地," $2\ r_{1}\ c_{1}\ r_{2}\ c_{2}$ " 表示从该矩形周围移除障碍物。Oshino 总是确保地面上任意两个障碍物不会有公共点,且不会与 $n\times m$ 区域的边界相交。
有时 Koyomi 会尝试从某个格子走到另一个格子,且不能跨越障碍物,以免损坏地上的各种物品。" $3\ r_{1}\ c_{1}\ r_{2}\ c_{2}$ " 表示 Koyomi 试图从 $(r_{1},c_{1})$ 走到 $(r_{2},c_{2})$,且途中不能跨越障碍物。
你需要告诉 Koyomi 每一次尝试是否可行。
输入格式
输入的第一行包含三个用空格分隔的整数 $n$、$m$ 和 $q$($1 \leq n,m \leq 2500$,$1 \leq q \leq 100000$),分别表示网格的行数、列数以及 Oshino 与 Koyomi 的操作总数。
接下来的 $q$ 行,每行描述一个操作,包含五个用空格分隔的整数 $t, r_{1}, c_{1}, r_{2}, c_{2}$($1 \leq t \leq 3$,$1 \leq r_{1}, r_{2} \leq n$,$1 \leq c_{1}, c_{2} \leq m$),其中 $t$ 表示操作类型,两个坐标描述了操作的范围。具体地,若 $t$ 为:
- $t=1$:$2 \leq r_{1} \leq r_{2} \leq n-1$,$2 \leq c_{1} \leq c_{2} \leq m-1$;
- $t=2$:$2 \leq r_{1} \leq r_{2} \leq n-1$,$2 \leq c_{1} \leq c_{2} \leq m-1$,且被移除的那组障碍物之前一定存在;
- $t=3$:没有额外要求。
输出格式
对于每一个 Koyomi 的尝试(即 $t=3$ 的操作),输出一行。如果可以,不带引号地输出 "Yes",否则输出 "No"。
说明/提示
对于第一个样例,Koyomi 的几次操作如下图所示。

由 ChatGPT 5 翻译