您的位置:首页 > 其它

uva 10003 Cutting Sticks (区间dp)

2013-08-12 18:07 288 查看
本文出自 http://blog.csdn.net/shuangde800

题目链接: 打开

题目大意

一根长为l的木棍,上面有n个"切点",每个点的位置为c[i]

要按照一定顺序把每个点都砍段,最后变成了n+1段

每砍一次,就会有一个花费,例如长度为10,“切点”为2,那么砍完后会变成两段2,8, 那么花费为2+8=10

如果有多个“切点”,那么不同顺序切会得到不同的花费。

问最小花费是多少?

思路

注意要增加一个c
= l

f(i, j) 表示(i,j)区间的最小花费

f(i, j) = min{ f(i,k)+f(k+1,j)+c[r]-c[l-1] | l<=k<k }

代码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: