我首先从书籍算法设计(第一张图片)中读到了这个OPT公式,我完全理解这一点,无论是使用i-1边缘还是i边缘导致不同的OPT(i-1,v)
或{{1} }。
然而,当我从“算法”一书中读到同样的问题时(第二张图片从“动态编程......”开始),我很困惑,因为它消除了OPT(i-1,w)+Cvw
,这意味着删除条件路径OPT(i-1,v)
最多使用P
个边缘,只使用i-1
。我只是想知道为什么这个配方还行吗?有人可以解释一下吗?
答案 0 :(得分:4)
我认为区别在于DP值的含义。在第一种情况下,该值表示“使用最多 i边缘的v的最佳路径”,在第二种情况下,该值表示“使用完全的v的最佳路径边缘。“鉴于其中的第二个,您可以通过查看最终的DP值直接读取答案,而在第二个中您必须查看dp(v,0),dp(v,1),dp(v,2) ),... dp(v,n - 1)。
希望这有帮助!