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++。
DP
单调队列优化