#L3094. 「BJOI2019」删数
「BJOI2019」删数
题目描述
对于任意一个数列,如果能在有限次进行下列删数操作后将其删为空数列,则称这个数列可以删空。一次删数操作定义如下:
记当前数列长度为 ,则删掉数列中所有等于 的数。
现有一个长度为 的数列 ,有 次修改操作,第 次修改后你要回答:经过 次修改后的数列 ,至少还需要修改几个数才可删空?
每次修改操作为单点修改或数列整体加一或数列整体减一。
输入格式
第一行两个正整数 ,分别表示数列长度、修改次数。
第二行有 个正整数,表示数列 ,即输入的第 个数表示数列 的第 个数 。
接下来 行,每行两个整数 ,表示一次修改操作。
- 当 时,该操作为单点修改,将数列中第 个数 修改为 。
- 当 时,该操作为数列整体加 ( 或 )。
输出格式
输出 行,每行一个整数,第 行表示前 次修改后的答案。
样例
输入
3 9
1 2 3
1 1
0 1
0 1
0 1
2 2
3 2
0 -1
0 -1
0 -1
输出
0
1
2
3
2
1
1
2
2
解释:
- 第一次修改后,数列为 ,无需修改即可删空。
- 第四次修改后,数列为 ,需要将三个数都改掉才可能删空。
- 第六次修改后,数列为 ,将第一个数改成 即可删空。
- 第九次修改后,数列为 ,可以将第二个数改成 、第三个数改成 来删空。
数据范围与提示
| Subtask # | 分值 | 是否满足 | ||
|---|---|---|---|---|
| 1 | 7 | 5 | 10 | 否 |
| 2 | 14 | 300 | 1 | 是 |
| 3 | 15 | 3000 | ||
| 4 | 11 | 3000 | ||
| 5 | 13 | |||
| 6 | 32 | 否 | ||
| 7 | 8 | |||
对于 的数据:
- 时,
- 时, 或