BZOJ_2442 修剪草坪

1.题目相关

  • 标签DP 单调队列优化
  • 题目地址:不是VIP没法看。。。。
  • 题目大意:给定N和K,表示有N个数,在其中选取连续的几段,且长度不能大于K。问所选数的和最大能为多少。

2.思路

  • 很简单的DP。sum[i]表示前缀和,dp[i]表示选第i个数时的最优方案。
  • dp[i] = max{dp[j]+sum[i]-sum[j+1]} j∈[i-k-1,i-1)
  • 那么思路就很明确了,对于dp[j]-sum[j+1],用一个位置递增,值递减的单调队列维护,当i-j>k的时候就h++。

点击查看代码

你可能感兴趣的:(BZOJ_2442 修剪草坪)