关于杆切割的最佳解决方案的困惑

时间:2014-04-25 20:51:37

标签: dynamic-programming

我在谈论CLRS中着名的切杆问题。 给出了两个最优方程:

1:r [n] = max(p_n,r_1 + r_ {n-1},...,r_ {n-1} + r_1);

2:r [n] = max(p_i + r_ {n-1},...,p_ {n-1} + r_1);

关于为什么第二个方程是正确的,我已经困惑了一段时间。

假设p_k + r_ {n-k}是最大值,可能存在r_k: r_k + r_ {n-k}> P_K + R_ {n-k个}?

在这种情况下,上述第二个等式是不正确的。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我不知道,如何正确回答。我也有同样的困惑所以我搜索了同样的东西,终于到了这里。我没有看到任何答案,所以我认为我们太愚蠢或没有人理解解决方案。我怎么遇到这个链接。confusion about rod cutting algorithm - dynamic programming。这里的第二个解释对我来说是有道理的。 他所说的是,对于任何可能的解决方案,总是会出现最大值包含阵列中给出的一些Pi的情况。所以我们所做的就是直接将它包含在我们的解决方案中。在重现1:r [n] = max(p_n,r_1 + r_ {n-1},...,r_ {n-1} + r_1);解决方案可能在于r2 + r(n-2),但在第二次重复中,相同的解决方案可能位于p1 + r(n-1)。如果找到任何明确答案,请告诉我。