2009-10-08 17 views

回答

28
+1

查看来自MIT的这个讲座http://video.mit.edu/watch/introduction-to-algorithms-lecture-19-dynamic-programming-i-fibonacci-shortest-paths-14225/然后解决上述问题,可以帮助你理解为什么DP有帮助。 – user504879 2016-10-12 11:33:22

+0

尽管这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/17995545) – kometen 2017-11-19 12:07:49

6

背后动态规划的想法是,你缓存(memoizing)解决方案的子问题,但我认为还有更给它比。

有很多Google Code Jam问题,例如解决方案需要动态编程才能高效。例子:

Welcome to Code Jam (moderate)

Cheating a Boolean Tree (moderate)

PermRLE (hard)

注意,每个代码果酱实践竞赛的有,如果你难倒试图解决的问题“比赛分析”一节。

+0

感谢您的资源。我偶尔会解决一个或两个项目问题的问题,看起来我确实困扰了一些需要关于DP知识的问题。 – AraK 2009-10-08 22:41:52

5
  1. 极客极客有很大的动态规划问题collection。如果你正在准备面试,我觉得这套是最好的。
  2. 如果您想要关于DP问题的小教程视频,您可以检查MIT的问题集this