一道经典的动态规划题目的思考
遇到棘手的问题请教: Cutting stick problem问题描述:切割一条木棍,在不同处(cutting points)切,会造成不同的开销(cost)。
例子: 考虑一根长10米的木棍,在距离头2,4,7米处切,我们有几种不同的选择。
如果按次序先后在 2,4,最后7米处切。会导致花费为10,8,6,一共24. 解释:
木棍最初长10(即为最初的开销),在2切之后,剩8,(此为余下开销),最后在7米处切。
后者按次序先后在4,2,7处切,会产生花费10,4,6.共20.此次序好于第一种。
问题是找出一种递归的方法求出最小开销。
网上有位同学的解答,可以求出最小开销, 如下链接
http://blog.
我还想求出对应的切割顺序。如何在此题的基础上,记录并求出对应的最佳切割点。
比如
Input:
10
3
2 4 7
Output:
The minimum cutting is 20.
还要输出:
The optimal cutting sequence: 4,2,7
算法是递归求解,如何能记录这些对应的切割点呢。。。?
初学动态规划,希望有同学指点!
谢谢大家了!!