#L6340. 矩形覆盖

    ID: 4716 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>其他CDQ分治数据结构树状数组组合数学容斥原理容斥原理离散化

矩形覆盖

题目描述

(a,b,c,d) 表示左下角在 (a,b)、右上角在 (c,d) 的矩形。

支持三种操作,具体规则如下:

  • I x1 y1 x2 y2:插入矩形 (x1,y1,x2,y2)
  • D x:删除第 xI 操作时插入的矩形(保证不会多次删除同一个矩形)。
  • Q x1 y1 x2 y2:求当前存在的矩形中,与 (x1,y1,x2,y2) 至少有一个公共点的矩形数量。

其中,坐标满足 1 ≤ x1 ≤ x2 ≤ 10^91 ≤ y1 ≤ y2 ≤ 10^9

输入格式

  • 第一行包含一个整数 Q,表示操作的总数。
  • 接下来 Q 行,每行包含一个操作,格式与上述三种操作一致。

输出格式

  • 对于每个 Q 操作,输出一行整数,表示对应的答案。

样例输入 1

5
I 1 1 2 2
I 2 2 3 3
Q 3 3 4 4
D 2
Q 3 3 4 4

样例输出 1

1
0

样例输入 2

7
I 1 1 2 2
I 3 3 4 4
D 2
I 5 5 6 6
I 7 7 8 8
D 3
Q 7 7 8 8

样例输出 2

1

数据范围与提示

  • 30% 的数据,Q ≤ 1000
  • 30% 的数据,Q ≤ 100000,无删除操作。
  • 40% 的数据,Q ≤ 100000