题目描述
扶苏在游玩舞萌 dx 的过程中,发现一首歌可以分成不超过 k 段分别进行练习。
具体来说,这首歌共有 n 个音符,每个音符有一个难度值。第 i 个音符的难度值为 ai。扶苏觉得一段歌曲的音符的难度应该是尽可能变难的。因此对于音符序列的一个区间 [l,r],她认为这段区间的『不优美度』是这段区间的逆序对数。
一个区间 [l,r] 的逆序对数被定义为满足 l≤i<j≤r 且 ai>aj 的数对 (i,j) 个数。
扶苏希望把这首歌划分成不超过 k 个子段,满足每个音符都至少属于一个子段,使得不优美度最大的段的不优美度尽可能小。
形式化的,你需要划分出 t≤k 个区间 [l1,r1],[l2,r2],…[lt,rt],满足:
- l1=1,rt=n。
- 对 1≤i<t,ri+1=li+1。
- 对 1≤i≤t,li≤ri。
定义 f(l,r) 表示区间 [l,r] 的不优美度,最小化 i=1maxtf(li,ri)
输入格式
本题单个测试点内有多组测试数据。第一行是一个正整数 T,表示数据组数。对每组数据:
第一行是两个整数 n,k(1≤k≤n≤105),表示歌曲的音符数和最多的划分段数。
第二行有 n 个整数 a1,a2,…,an(−109≤ai≤109),表示每个音符的难度。
数据保证单个测试点内的 n 之和不超过 105。
输出格式
对每组数据,输出一行一个整数表示答案。
2
5 2
1 3 2 5 4
8 2
4 2 3 6 7 1 8 5
1
2