#P0201. C.垃圾清理(lj)

C.垃圾清理(lj)

题目描述

有一个 HHWW 列的网格。用 (i,j)(i,j) 表示第 ii 行第 jj 列的格子(从上到下、从左到右编号)。

网格上有 NN 个垃圾,第 ii 个垃圾位于 (Xi,Yi)(X_i, Y_i)

接下来有 QQ 个操作,需要按顺序处理。每个操作有两种类型之一:

操作类型 1

格式:1 x

  • 输出当前第 xx 行中垃圾的数量;
  • 然后删除该行中的所有垃圾

操作类型 2

格式:2 y

  • 输出当前第 yy 列中垃圾的数量;
  • 然后删除该列中的所有垃圾

输入格式

第一行三个整数:

H W N

接下来 NN 行,每行两个整数:

X_i Y_i

表示垃圾的位置。

接下来一行一个整数:

Q

接下来 QQ 行,每行一个操作:

1 x

2 y

输出格式

输出 QQ 行,每行一个整数,表示对应操作的结果。


输入输出样例

样例输入 1

3 4 5
1 2
1 3
3 4
3 1
2 2
5
1 1
1 2
2 2
2 4
1 2

样例输出 1

2
1
0
1
0

样例解释

初始垃圾位置为:

(1,2),(1,3),(3,4),(3,1),(2,2)(1,2),(1,3),(3,4),(3,1),(2,2)

  1. 查询第 1 行,有 2 个垃圾,删除后剩: (3,4),(3,1),(2,2)(3,4),(3,1),(2,2)

  2. 查询第 2 行,有 1 个垃圾,删除后剩: (3,4),(3,1)(3,4),(3,1)

  3. 查询第 2 列,没有垃圾。

  4. 查询第 4 列,有 1 个垃圾,删除后剩: (3,1)(3,1)

  5. 查询第 2 行,没有垃圾。


样例输入 2

1 2 1
1 2
7
2 1
2 1
2 1
2 1
2 1
2 1
2 1

样例输出 2

0
0
0
0
0
0
0

样例输入 3

4 4 16
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
3 3
3 4
4 1
4 2
4 3
4 4
7
2 1
1 1
2 2
1 2
2 3
1 3
2 4

样例输出 3

4
3
3
2
2
1
1

数据范围

  • 1H,W,N2×1051 \le H, W, N \le 2 \times 10^5
  • 1XiH1 \le X_i \le H
  • 1YiW1 \le Y_i \le W
  • 所有垃圾位置互不相同
  • 1Q2×1051 \le Q \le 2 \times 10^5
  • 操作保证合法