【发布时间】:2012-07-10 10:44:12
【问题描述】:
我正在尝试阅读一些动态编程的笔记和示例,但我很难弄清楚它们是如何工作的。我将发布问题,然后是我遇到的困难:
给定一系列点 p1= (x1,y1),...,pn=(xn,yn) 从左到右排序(即 x1
我认为子问题应该这样划分:
C[i,j] = 从 p1 到 pi 的多边形链,有 j 条边,最小化垂直距离的总和。
然后答案是:C[n,k]
基本情况:C[i,0] = 0
现在我在想出递归公式时遇到了一些困难。我的第一个问题,我是否正确分解了子问题?这个问题给出了一个暗示,让我看起来像我这样做了,但我不是 100% 确定。如果我是,关于如何继续推导递归公式的任何提示?
感谢大家的帮助。
【问题讨论】:
标签: algorithm dynamic-programming