#4471. [ABC101C] Minimization

[ABC101C] Minimization

【题目描述】

给定一个长度为 NN 的排列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots ,A_N)。
你可以进行如下操作任意次(可以为 00 次):

  • 选择一个连续的长度为 KK 的子区间(即选出下标 i,i+1,…,i+K−1i,i+1,\ldots ,i+K-1),将这个子区间内 所有元素的值替换为该子区间的最小值。

求使得整个序列所有元素相等所需的最少操作次数。
在题目给定的约束下,总存在一种操作方案使所有元素最终相等。

【输入格式】

第一行两个整数 N,KN,K,分别表示序列长度与每次操作的区间长度。
第二行 NN 个整数 A1,A2,…,ANA_1,A_2,\ldots ,A_N,保证 AA 为 1∼N1\sim N 的一个排列。

【输出格式】

输出一行一个整数,表示最少操作次数。

【样例输入 1】

5 3
2 1 3 5 4

【样例输出 1】

2

【样例说明 1】

  • 第一次操作:选择区间 [1,3][1,3](下标 1∼31\sim 3),区间内最小值为 11,将这三个位置全部替换为 11。
    序列变为:1,1,1,5,41,1,1,5,4。
  • 第二次操作:选择区间 [3,5][3,5](下标 3∼53\sim 5),区间内最小值为 11,将这三个位置全部替换为 11。
    序列变为:1,1,1,1,11,1,1,1,1。

共需 22 次操作。

【数据范围与约定】

子任务编号 分值 特殊限制
1 20 N≤2000N \le 2000
2 80 N≤105N \le 10^5,K≤NK \le N

对于全部数据:1≤K≤N≤1051 \le K \le N \le 10^5,AA 为 1∼N1\sim N 的排列。