给出了两个整数N<=10^5
和K<=N
,其中N
是数组的大小,A[]
是K
我们可以在流程中选择的连续子序列的长度。每个元素A[i]<=10^9
。现在假设最初数组的所有元素都没有标记。在每一步中,我们将选择任何长度的子序列K
,如果该子序列具有未标记的元素,那么我们将标记所有序列中最小的未标记元素。现在如何计算标记所有元素的最小步骤数?
为了更好地理解问题,请参见这个例子——
N=5 K=3
A[]=40 30 40 30 40
步骤 1- 选择区间 [1,3] 并标记 A[1] 和 A[3]
Step2- 选择区间 [0,2] 并标记 A[0] 和 A[2]
步骤 3- 选择区间 [2,4] 并标记 A[4]
因此这里的最小步数是 3。
我的方法(速度不够快,无法通过)-
我从数组的第一个元素开始,将所有未标记的元素标记为在距离处等于它<=K
并递增steps
1。