代码之家  ›  专栏  ›  技术社区  ›  anirudh

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

  •  1
  • anirudh  · 技术社区  · 7 年前

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

    有人知道在多项式时间内可以用来解决这个问题的方法吗?有人问我这个问题,但我不知道怎么做与DP或其他。

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

    1 回复  |  直到 7 年前
        1
  •  0
  •   btilly    7 年前

    这是DP解决方案的概要。

    对于每一对点,找到最大凸弧,如果它弯曲,弓远离左下角。

    对于每一对点,找到最大凸弧,如果它弯曲,弓远离右上角。

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