AT_abc346_e [ABC346E] Paint

题目描述

有一个 $H$ 行 $W$ 列的网格,初始时所有格子都被涂成颜色 $0$。 接下来依次进行 $i = 1, 2, \ldots, M$ 次操作: - 当 $T_i = 1$ 时,将第 $A_i$ 行的所有格子全部涂成颜色 $X_i$。 - 当 $T_i = 2$ 时,将第 $A_i$ 列的所有格子全部涂成颜色 $X_i$。 所有操作结束后,请对于每种最终存在被涂成颜色 $i$ 的格子,求出该颜色的格子的数量。

输入格式

输入以如下格式从标准输入读入。 > $H$ $W$ $M$ > $T_1$ $A_1$ $X_1$ > $T_2$ $A_2$ $X_2$ > $\vdots$ > $T_M$ $A_M$ $X_M$

输出格式

设最终存在被涂成颜色 $i$ 的格子的颜色种类数为 $K$,输出共 $K+1$ 行。 第 $1$ 行输出 $K$。 接下来的第 $2$ 行到第 $K+1$ 行,对于每种存在被涂成颜色 $i$ 的颜色,输出颜色编号 $c_i$ 以及该颜色的格子数量 $x_i$,用空格隔开。 要求颜色编号按升序输出,即 $c_1 < c_2 < \ldots < c_K$。注意 $x_i > 0$。

说明/提示

### 限制条件 - $1 \leq H, W, M \leq 2 \times 10^5$ - $T_i \in \{1, 2\}$ - 对于 $T_i = 1$,有 $1 \leq A_i \leq H$ - 对于 $T_i = 2$,有 $1 \leq A_i \leq W$ - $0 \leq X_i \leq 2 \times 10^5$ - 所有输入均为整数 ### 样例解释 1 通过操作,网格中每个格子的颜色变化如下: ``` 0000 0000 0000 0000 0000 0000 → 5555 → 5550 → 5550 → 5550 0000 0000 0000 3333 2222 ``` 最终,颜色 $0$ 的格子有 $5$ 个,颜色 $2$ 的格子有 $4$ 个,颜色 $5$ 的格子有 $3$ 个。 由 ChatGPT 4.1 翻译