HDU 1455 Sticks

本文提供了一道 HDU 1455 的 ACM 算法题解,通过深度优先搜索(DFS)算法实现木棒切割问题的求解,寻找最优的切割方案以达到目标长度。

http://acm.hdu.edu.cn/showproblem.php?pid=1455

 

一. dfs()有三个参数,一个记录组成好了多少根,一个记录当前的组成长度,还有一个就是当前是哪根

二. 开始要对Len从大到小排序一下,这个没怎么想明白,网上说这样可以减少比较的次数,我的想法是如果是从小到大排,那么你之前组成的棒子肯定是由很多长度短的组成的,余下的都是长度比较大的,但是实际情况大多数应该是长的和短的相结合构成目标长度,所以你先把短的用掉了,之后还要回溯,要是从大到小就不会,因为你大的也许两个到三个相加就已经超出目标长度了,这样可以减少回溯,那么次数也就减少了很多

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值