问题化简
我们可以将问题化简为:选中两个下标i,j 使得 j−i>K 。然后在前缀[1,i] 和 后缀[j,n] 内分别寻找两个子段使得和最大。
前缀/后缀中的最大子段和
现在我们需要在前缀[1,i] 中寻找最大子段和。那么根据【动态规划4】最大子段和 我们直接求解,答案为max{dp1,dp2,...,dpi}
又由于这个下标 i 是频繁变化的,所以我们需要对每个不同的 i 都求解一遍答案。那么根据上节课所学的知识,我们可以预处理出dp数组的前缀最大值数组。
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写