找到两个固定大小 (K,L) 的子列表以最大化正序列中的总和

Finding two sublists of fixed sizes (K,L) to maximize total sum among positive sequence

给定一个正整数列表,以及两个整数 KL,我需要 select 两个非重叠长度为 KL 的连续子列表,以最大化两个子列表的组合总和。

例如,如果列表是 [6,1,4,6,3,2,7,4],K = 3,并且 L = 2,那么我想要子列表 [4,6,3] 和 [7,4],其总和为 24 是可实现的最大值。

列表至少有K + L个元素,最多600个元素;元素是 [1, 500].

范围内的整数

不知从何说起。我在考虑动态编程解决方案,但我对它不是很熟悉,所以我不确定这是否可行。

从左到右扫描数组,计算从每个索引开始的长度为 K 和长度为 L 的连续子数组的部分和。它可能在 O(n) 中执行。

在每个索引之前将最大和写入辅助数组LeftK, LeftL

将每个索引后的最大和写入辅助数组RightK, RightL

现在对每个索引 iLeftK[i]+RightL[i]LeftL[i]+RightK[i] 的总和,并在所有条目中选择最佳总和。