#3238. 图书管理员(book)
图书管理员(book)
题目描述
小 G 是一名图书管理员,他需要将书架上的书全部撤下。书架上共有 本书,从左到右第 本书的颜色编号为 。
撤书规则如下:每次小 G 可以选择一个连续的区间 ,设该区间内颜色编号的最小值为 ,然后将该区间内所有颜色编号为 的书撤下。被撤下的书会被移走,剩余的书保持原有顺序并向中间靠拢,重新排成一排。
在正式撤书之前,小 G 还可以进行最多 次重新上色:选择任意一本书,将其颜色编号改为任意整数。
小 G 希望最终撤书的操作次数尽可能少。请帮他计算,在至多 次重新上色后,最少需要多少次操作才能撤完所有书。
输入格式
第一行一个整数 (),表示测试点数量。
对于每个测试点:
- 第一行两个整数 和 (,),分别表示书的数量和最多重新上色次数。
- 第二行 个整数 (),表示每本书的颜色编号。
输出格式
对于每个测试点,输出一行一个整数,表示最少需要的撤书操作次数。
6
1 0
48843
3 1
2 3 2
5 3
1 2 3 4 5
7 0
4 7 1 3 2 4 1
11 4
3 2 1 4 4 3 4 2 1 3 3
5 5
1 2 3 4 5
1
1
2
5
2
1
数据规模与约定
对于 的数据,,所有测试点中 的总和不超过 。
子任务
| 测试点 | 数据范围与特殊性质 |
|---|---|
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | 无特殊限制 |
| 6 | |
| 7 | 两两不同 |
| 8 | |
| 9 | 数组中恰好出现两种不同数值,且两种数值出现次数相同 |
| 10 | 数组中恰好出现两种不同数值,且两种数值出现次数不同 |
| 11 | |
| 12 | 数组中每种不同数值的出现次数互不相同 |
| 13 | 数组中有一种数值出现次数不少于其余任意数值出现次数的 倍 |
| 14 | |
| 15 | 数组中恰好出现 种不同数值,且每种数值出现次数相同 |
| 16 | ,数值分布随机 |
| 17 | |
| 18 | 数组中每种不同数值均恰好出现 次 |
| 19 | |
| 20 | 无特殊限制 |
说明:对于测试点 ,数据规模均为 ,,,无额外特殊性质;其余测试点除上表所述性质外,同样满足 ,,。