贪心+DP,这个贪心能够很巧妙的用优先队列解决。
dp[i]表示第i位的答案,那么dp[i]就可以由dp[j],i-k+1<=j<=i-1转移得到,而具体由哪一个转移,可以贪心出来。首先dp[j]本身的值要最小。如果存在多个最小值,就要让j+1~i这一段里面的H尽可能地多,换句话说就是让1~j里面的H尽可能的少。这样两个贪心就行了。
注册一个 Vijos 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 Vijos 通用账户