【题解】POJ 3253 Fence Repair(贪心)

POJ 3253 Fence Repair


原题

https://vjudge.net/problem/POJ-3253

农场主约翰想修理牧场周围一小段篱笆。他测量了栅栏,发现他需要N(1≤N≤20,000)块木板,每块都有整数Li(1≤Li≤50,000)个单位。然后他买了一块长木板,刚好能锯进N块厚木板(也就是木板,其长度为长度Li的和)。FJ忽略了“切缝”,即锯切时锯屑失去的额外长度;你也应该忽略它。
FJ悲伤地意识到他没有锯子来锯木头,所以他就用这块长木板来到农民Don的农场,礼貌地问他是否可以借一把锯子。
农场主唐是一个隐蔽的资本家,他没有借给FJ一把锯子,而是提出要向农场主约翰索要木板上N-1个切口的费用。切一块木头的费用正好等于它的长度。切一块21的木板要花21美分。
农夫唐然后让农夫约翰决定切割木板的顺序和位置。帮助农民约翰确定他可以用来制作N个木板的最低金额。FJ知道他可以将木板切割成不同的顺序,这将导致不同的收费,因为中间木板的长度是不同的。
输入行1:一个整数N,木板的数量行2…N+1:每一行包含一个整数,描述所需板材的长度
输出行1:一个整数:进行N-1切割必须花费的最小金额

Sample Input

3
8
5
8

Sample Output

34

提示
他想把一块长21的木板切成8、5和8的小块。
原来的棋盘是8+5+8=21。第一次切割的成本是21美元,应该用来把木板切割成13和8的大小。第二次削减将花费13,并应用于削减13成8和5。这将花费21+13=34。如果将21削减为16,将5削减为5,那么第二次削减将花费16,总共37(比34多)。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值