【发布时间】:2015-03-02 08:02:20
【问题描述】:
我正在重温我在Dynamic Programming 上的笔记。它基本上是一种记忆递归技术,它将较小子问题的解决方案存储起来,以便以后在计算解决方案时重用相对较大的子问题。
我的问题是,为了将 DP 应用于递归问题,它必须具有最佳子结构。这基本上要求问题的最优解包含子问题的最优解。
还有可能吗?我的意思是你有没有见过问题的最优解不包含子问题的最优解的情况。
请分享一些例子,如果你知道加深我的理解。
【问题讨论】:
-
“问题的最优解不包含子问题的最优解的情况” 这是事物的默认状态。通常有必要选择子问题最优性的定义才能使 DP 起作用——因此,我不确定您的其他问题是否真的能以令人满意的方式回答。
标签: algorithm dynamic-programming