题目理解
题目大意是给你一根木棍,棍子上有n个切割点,,要求将木棍分成n+1个部分,每次切割的费用是木棍的长度,输入是木棍的长度和切割点的个数(当木棍长度为0时程序退出,否则程序一直运行),输出是最小的总切割费用。
解题思路
这里我们用动态规划的思想解决这道题目,动态规划的关键就是要定义好状态,并找出状态转移方程,这里我们定义dp[i][j]表示切割点i到j这根子木棍所需的最小花费.
最后一步
在使用上述状态的情况下,dp的最后一步就是计算i=0,j=n+1时的花费(注意,i和j表示的是切割点的标号,而明显之前输入1-n个切割点时是不会包括木棍的两端的,所以这两个点的值要自己设置好).那么这最后一步如何计算呢?举一个例子.