再次开始解决UVa问题,作为一种消磨时间的方法(在6周内进入军队)。我喜欢编写Java,但最终使用的是C / C ++。这不是因为IO更快,不需要打包数据,更多内存或使用无符号,因为它的算法效率很重要。
总之,我正在慢慢构建如何/文章/代码库为不同类别的高效算法和dp是下一个。
引用马克吐温:这不是你不知道会让你陷入困境的。这就是你所知道的,但事实并非如此。
我帮助建立优先级列表必须具有高效算法。
答案 0 :(得分:4)
This MIT lecture是对动态编程的一个很好的介绍。
答案 1 :(得分:2)
关于Dynamic Programming的维基百科文章有一个标题为“Algorithms that use dynamic programming”的部分,其中包含许多示例。
这是practice problems in dynamic programming的另一个好清单。
由于您引用了UVa问题列表,因此您一定要查看Problem 103 - Stacking Boxes。该问题很适合使用Longest Increasing Subsequence算法的解决方案。