【发布时间】:2014-07-04 01:10:53
【问题描述】:
我在想是否有某种通用方法可以将自顶向下动态编程转换为自底向上编程。
我们能不能想出一些机制来提供正式的方式,通过这种方式我们可以将自上而下的 DP 转换为自下而上的 DP。
注意:我是动态编程的初学者,我所见过的从自上而下的方法转换为自下而上的方法的问题非常不同。所以我不确定是否可以采用通用方式。
广义上的意思是,数组应该如何初始化,数组的大小应该是多少以及数组应该有多少维。
【问题讨论】:
-
“我已经看到自上而下的方法转换为自下而上的方法非常不同” 通常转换很简单。但是,如果您首先进行转换,可能是因为解决子问题的某些特定顺序允许您进行某些特定优化。这是它可能变得复杂的地方,例如参见codeforces.com/blog/entry/8219
标签: algorithm dynamic-programming