摩押人与K子串
题目描述
摩押人有一个元素个数为n的数组,他希望按非递减的顺序对该数组排序,排序按照以下方法:
\(1.\) 将数组拆分为 \(k\) 段,每段不能为空;
\(2.\) 重新排列这 \(k\) 个段,使得新合并的数组的所有元素顺序为非递减;
给定 \(k\),你能告诉摩押人是否有一种分段的方法,可以按上面描述的方法使得数组按非递减排序吗?
格式
输入格式
输入第一行一个正整数 \(t(1≤t≤10)\),表示测试数据组数;
每组数据两行,第一行,两个正整数 \(n,k(1≤n,k≤10^5)\),如题意;
第二行 \(n\) 个正整数 \(a_1,a_2,…,a_n(-10^9≤a_i≤10^9)\),表示元素个位为 \(n\) 的数组。
输出格式
对于每组数据输出一行,如果给定的k可以按照描述中的排序方法,将数组按非递减排序,则输出“ \(\text{Yes}\)”,否则输出“\(\text{No}\)”。
样例1
样例输入1
3
5 4
6 3 4 2 1
4 2
1 -4 0 -2
5 1
1 2 3 4 5
样例输出1
Yes
No
Yes
样例解释
样例中第一组数据,可以分段为 \(\{[6],[3,4],[2],[1]\}\),重排为 \(\{[1],[2],[3,4],[6]\}\),能够实现非递减排序。
限制
时间:\(1s\) 空间:\(256M\)
对于 \(30\%\) 的数据:\(1≤n,k≤10\);
对于 \(100\%\) 的数据:\(1≤t≤10;1≤n,k≤10^5\);
来源
地址:\(zloj,J2021\)域
作者:\(jialiang2509\)