#4471. [ABC101C] Minimization

[ABC101C] Minimization

【题目描述】

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

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

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

【输入格式】

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

【输出格式】

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

【样例输入 1】

5 3
2 1 3 5 4

【样例输出 1】

2

【样例说明 1】

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

共需 22 次操作。

【数据范围与约定】

子任务编号 分值 特殊限制
1 20 N2000N \le 2000
2 80 N105N \le 10^5KNK \le N

对于全部数据:1KN1051 \le K \le N \le 10^5AA1N1\sim N 的排列。