#9820. 跨越障碍物

    ID: 9820 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>树状数组扫描线连通性维护矩形障碍

跨越障碍物

题目描述

再见,朋友。

小圆正在帮助忍野,他的一个熟人,照看废弃的栄光补习学校建筑周围的开放空间,这里是忍野的临时住所。

这个空间由一个 n×mn \times m 单元格的矩形网格表示,排列成 nn 行和 mm 列。第 cc 个单元格在第 rr 行中被表示为 (r,c)(r,c)

忍野放置和移除单元格周围的障碍物。具体来说,动作 1 r1 c1 r2 c21 \ r_1 \ c_1 \ r_2 \ c_2 表示忍野在两个角分别为 (r1,c1)(r_1,c_1)(r2,c2)(r_2,c_2) 且边平行于方块边的矩形周围放置障碍物。同样,动作作 2 r1 c1 r2 c22 \ r_1 \ c_1 \ r_2 \ c_2 表示忍野移除矩形周围的障碍物。忍野确保地面上没有任何障碍物共享任何公共点,也不与 n×mn \times m 区域的边界相交。

有时候,小圆试图小心地从一个单元格走到另一个单元格,以避免跨越障碍物,以免损坏地面上的各种物品。3 r1 c1 r2 c23 \ r_1 \ c_1 \ r_2 \ c_2 表示小圆试图从 (r1,c1)(r_1,c_1) 走到 (r2,c2)(r_2,c_2)而不穿过障碍物。

你在这里告诉小圆他的每次尝试的可行性。

输入格式

输入的第一行包含三个用空格分隔的整数 nn, mmqq ,分别表示网格中的行数和列数,以及忍野和小圆的总动作数。

接下来的 qq 行描述了一个动作,包含五个用空格分隔的整数 t,r1,c1,r2,c2t,r_1,c_1,r_2,c_2($1 \le t \le 3,1 \le r_1,r_2 \le n,1 \le c_1,c_2 \le m$),分别表示操作的类型和两个坐标。另外,根据 tt 的值,以下内容成立:

  • 如果 t=1t=12r1r2n12 \le r_1 \le r_2\le n-12c1c2m12 \le c_1 \le c_2 \le m-1;
  • 如果 t=2t=22r1r2n12 \le r_1 \le r_2 \le n-12c1c2m12 \le c_1 \le c_2 \le m-1,指定的障碍物组在移除前存在于地面上。
  • 如果 t=3t=3:没有额外的限制。

输出格式

对于小圆的每次尝试(带有 t=3t=3 的动作),输出一行,包含 "Yes"(不带引号)如果可行,否则输出 "No"(不带引号)。

5 6 5
1 2 2 4 5
1 3 3 3 3
3 4 4 1 1
2 2 2 4 5
3 1 1 4 4
No
Yes

样例分析

小圆的动作情况如下图所示。

image.png

数据范围与提示

对于 100%100\% 的数据:1n,m25001 \le n,m \le 25001q1051 \le q \le 10^5