两个间隔的最大总和

时间:2013-12-08 16:14:53

标签: algorithm

两个玩家A和B正在玩N个元素的阵列A的游戏,其中每个玩家选择具有最大总和的阵列间隔。另一个同时在同一阵列中选择另一个间隔,使得所选择的间隔遵循某些规则:

  1. 两个选定的间隔不应该有任何间隔。即它们不应该重叠。

  2. 选择的两个间隔不应太靠近。第一个间隔的结束与第二个间隔的开始之间必须至少有K个索引距离。

  3. 所选间隔中的值之和应尽可能大。或者我们可以说两个选择的区间总和应该尽可能大。

  4. 我想要这两个时间间隔的总和。

    示例:

    设N等于8,K等于3,A []等于{6,6,0,-1,4,0​​,3,-1}。选择[1,2]和[7,7]间隔是最佳的。这是我们唯一可以做出的最佳选择。

    如果12(从第一个间隔)+6(从第二个间隔)= 18

    总和

    我知道找到最大和连续子阵列的kadane算法。但是为这个问题实现起来很麻烦。

1 个答案:

答案 0 :(得分:3)

另一位用户要求解决主动编程竞赛中的问题:

http://www.codechef.com/DEC13/problems/REIGN

你应该感到羞耻。