#3238. 图书管理员(book)

图书管理员(book)

题目描述

小 G 是一名图书管理员,他需要将书架上的书全部撤下。书架上共有 nn 本书,从左到右第 ii 本书的颜色编号为 aia_i

撤书规则如下:每次小 G 可以选择一个连续的区间 [l,r][l, r],设该区间内颜色编号的最小值为 xx,然后将该区间内所有颜色编号为 xx 的书撤下。被撤下的书会被移走,剩余的书保持原有顺序并向中间靠拢,重新排成一排。

在正式撤书之前,小 G 还可以进行最多 kk 次重新上色:选择任意一本书,将其颜色编号改为任意整数。

小 G 希望最终撤书的操作次数尽可能少。请帮他计算,在至多 kk 次重新上色后,最少需要多少次操作才能撤完所有书。

输入格式

第一行一个整数 TT1T101 \le T \le 10),表示测试点数量。

对于每个测试点:

  • 第一行两个整数 nnkk1n1051 \le n \le 10^50kn0 \le k \le n),分别表示书的数量和最多重新上色次数。
  • 第二行 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai1091 \le a_i \le 10^9),表示每本书的颜色编号。

输出格式

对于每个测试点,输出一行一个整数,表示最少需要的撤书操作次数。

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

数据规模与约定

对于 100%100\% 的数据,1T101 \le T \le 10,所有测试点中 nn 的总和不超过 10510^5

子任务

测试点 数据范围与特殊性质
1 1n101 \le n \le 10
2 k=0k = 0
3 1n10001 \le n \le 1000
4 1ai1001 \le a_i \le 100
5 无特殊限制
6
7 a1,a2,,ana_1, a_2, \ldots, a_n 两两不同
8 a1=a2==ana_1 = a_2 = \cdots = a_n
9 数组中恰好出现两种不同数值,且两种数值出现次数相同
10 数组中恰好出现两种不同数值,且两种数值出现次数不同
11
12 数组中每种不同数值的出现次数互不相同
13 数组中有一种数值出现次数不少于其余任意数值出现次数的 900900
14
15 数组中恰好出现 10001000 种不同数值,且每种数值出现次数相同
16 1ai1091 \le a_i \le 10^9,数值分布随机
17 n=1n = 1
18 数组中每种不同数值均恰好出现 22
19
20 无特殊限制

说明:对于测试点 5,6,16,205,6,16,20,数据规模均为 n105n \le 10^50kn0 \le k \le n1ai1091 \le a_i \le 10^9,无额外特殊性质;其余测试点除上表所述性质外,同样满足 n105n \le 10^50kn0 \le k \le n1ai1091 \le a_i \le 10^9