给定大小为MxN且具有正整数值的2D矩阵,请找到具有最大总和的闭环

时间:2018-08-03 15:19:00

标签: algorithm matrix optimization

循环可以是任意形状,但只能向上/向下/向左/向右旋转。循环的总和定义为沿其周长的所有唯一元素的总和。循环不允许自己交叉,因为循环次优(因为我们不允许两次对同一元素计数)。

有人知道在多项式时间内可用于解决此问题的任何方法吗?有人问我这个,但我不知道如何用DP或其他方式来做。

编辑-循环也应该是凸的。

1 个答案:

答案 0 :(得分:0)

这是DP解决方案的概述。

对于每对点,找到最大的弧度,如果它弯曲,则弯曲离开左下角。

对于每对点,找到最大弓形弧度,如果弯曲,则弓形弧度会偏离右上角。

找到这两个圆弧之和最大的一对点。这对弧线就是您的答案。