4

我现在正在学习动态规划,虽然我对理论很了解,但为新问题设计 DP 算法仍然很困难。

这就是我现在真正想要的——一本书或一个网站,它提出了一个可以通过动态编程解决的问题。还有一个带有可用解释的解决方案,我想看看即使在我的头撞了几个小时后我是否也无法解决问题。是否有一些资源可以为几类算法(如图形算法、动态编程等)提供这种东西?

PS我考虑过Topcoder,但那里的解决方案并不适合学习实施有效的解决方案。

4

4 回答 4

4

任何 ACM 竞赛问题集都可能有效。一些地方可以找到这样的:

于 2009-11-12T10:50:43.127 回答
1

Project Euler中的许多问题都可以通过使用动态规划来优雅地解决。

于 2009-11-12T10:51:59.670 回答
1

我有点不同意TopCoder上的解决方案不是良好实践的例子。顶级用户提交的解决方案往往非常简单,不一定非常高效,只要足够高效即可。真正重要的是代码非常短,这使得它容易理解,尤其是在您还不知道解决方案的情况下。

我不建议以相同的风格编写普通程序,但它绝对可以教会你一些关于过度工程的知识。我在 Java 中看到了带有自定义迭代器、比较器等的解决方案,即使算法本身很简单,它们也更难理解。

我曾经读过Paul Graham的一篇文章,他在其中指出使用较少标记的程序更容易理解。TopCoder 让我相信这是真的,至少在某些领域是这样。

于 2010-04-07T15:01:25.620 回答
0

http://www.topcoder.com
在这里您可以找到各种难度级别的问题。

于 2009-11-12T10:55:30.293 回答