#P13318. [2025年队测]黎明
[2025年队测]黎明
题目描述
给出一个 的矩阵,矩阵每个位置都是一个整数,记第 行第 列的值为 。
定义矩阵的值为正整数连通块的数量,两个位置 连通当且仅当 。
维护 次操作,操作有两类:
-
add x,将矩阵中所有的值加 ,即 ; -
set x y z,将矩阵中 的值赋值为 ,即 。
你需要在每次操作后求出矩阵的值。
矩阵有一个重要的性质如下:
-
保证在任意时刻,不在边界上的位置,一定存在一个与它连通的位置的值严格小于它的值。
-
即 ,。
本题采用子任务捆绑测试。
输入格式
第一行一个整数 ,表示子任务编号。 表示样例。
接下来一行三个整数 ,表示矩阵的大小和操作次数。
接下来 行,每行 个整数,描述初始时的矩阵。
接下来 行,每行一个操作,形式同题面。
输出格式
输出 行,每行一个整数,第 行表示经过前 次操作后矩阵的值。
样例
样例输入 1
0
4 4 8
1 0 0 1
0 2 2 0
0 2 2 0
1 0 0 1
add 0
add -1
add -1
set 2 2 -1
set 3 3 -1
set 3 4 -1
add 1
add 1
样例输出 1
5
1
0
0
0
0
2
4
样例 1 解释
初始时,矩阵如下:
$$\begin{matrix} 1, 0, 0, 1\\\\ 0, 2, 2, 0\\\\ 0, 2, 2, 0\\\\ 1, 0, 0, 1 \end{matrix}$$进行一次 add -1:
再进行一次 add -1:
进行完所有的操作:
$$\begin{matrix} 1, 0, 0, 1\\\\ 0,1, 2, 0\\\\ 0, 2, 1, 1\\\\ 1, 0, 0, 1 \end{matrix}$$其余样例见下发文件。
-
ex_daybreak2与子任务 的限制一致, -
ex_daybreak3与子任务 的限制一致, -
ex_daybreak4与子任务 的限制一致,
时空限制与数据范围
2s, 256MB
对于所有的数据:
-
$1\leq n,m\leq 1000, n\times m\leq 3\times 10^{5}, 1\leq q\leq 10^{5}$,
-
,
-
对于
add x操作,, -
对于
set x y z操作,
| 子任务编号 | 特殊性质 | 分值 | ||
|---|---|---|---|---|
| 无 | 5 | |||
| A | 10 | |||
| B | ||||
| C | 20 | |||
| D | ||||
| 无 | 35 | |||
特殊性质 A: 没有 add x 操作,
特殊性质 B: 没有 set x y z 操作,
特殊性质 C: 进行 add x 操作时,,
特殊性质 D: 任意时刻 。