luogu#P5873. [SEERC2018] Points and Rectangles

[SEERC2018] Points and Rectangles

题目描述

给定一个空的二维平面,给定 qq 次询问。询问有两种类型:

  • 1 x y1 \ x \ y — 向平面中添加一个坐标为 (x,y)(x,y) 的点。
  • 2 x1 y1 x2 y22 \ x_1 \ y_1 \ x_2 \ y_2 — 添加一个左下角坐标为 (x1,y1)(x_1,y_1)、右上角坐标为 (x2,y2)(x_2,y_2) 的矩形。矩形的面积可以是 00,矩形也可以退化成一个点。

矩形和点可能会重叠。

每次询问操作完成之后,计算出使点在矩形内部或边上的点-矩形对数。

输入格式

第一行包含一个整数 q (1q105)q \ (1 \leq q \leq 10^5),代表询问数。

接下来 qq 行每行描述一个询问:

  • 1 x y (1x,y109)1 \ x \ y \ (1 \leq x,y \leq 10^9) — 向平面中添加一个坐标为 (x,y)(x,y) 的点。
  • $2 \ x_1 \ y_1 \ x_2 \ y_2 \ (1 \leq x_1 \leq x_2 \leq 10^9, 1 \leq y_1 \leq y_2 \leq 10^9)$ — 添加一个左下角坐标为 (x1,y1)(x_1,y_1)、右上角坐标为 (x2,y2)(x_2,y_2) 的矩形。

输出格式

你需要输出 qq 行,第 ii 行包含一个整数,代表使点在矩形内部或边上的点-矩形对数。

5
1 2 3
1 2 2
1 3 4
2 1 1 5 5
2 2 2 2 2
0
0
0
3
4
4
2 1 1 3 3
2 1 1 2 2
1 2 2
1 2 2
0
0
2
4
7
1 5 5
1 5 5
1 5 5
2 2 2 9 9
2 1 1 5 5
2 1 1 2 2
1 2 2
0
0
0
3
6
6
9

提示

第一个样例的解释:

第一次询问操作后,平面上有一个点 (2,3)(2,3),但没有矩形,因此没有满足条件的点-矩形对。

第二次询问操作后,平面上仍然没有矩形,因此仍然没有这样的对。

第三次询问操作后依然没有矩形。

在第四次询问中,我们向平面中添加了一个左下角为 (1,1)(1,1)、右上角为 (5,5)(5,5) 的矩形。之前添加的所有的点都在这个矩形中,因此这样的对有 33 个。

第五次询问操作后,我们有 44 个这样的对:上面的 33 对,以及第二次询问插入的点在第五次询问插入的矩形中新增的 11 对。