zoj 1937 || poj 2248 Addition Chains

211 篇文章 0 订阅
53 篇文章 0 订阅

昨晚看的这个题,今天早上上课的时候,想起来了,就想了下,机组老师太能喷了,基本都在说了,不过确实有的挺有道理的。

 

第二节英语课,我快郁闷死了,老师说,这节课第一节,就不讲了,结果我们愣了两节课。。。就带了英语书和机组书,不想看 = =。。

 

中午把这题给A掉了,嘻嘻。

 

这题是,给你数n,求出1......n 一串数,其中每个数字分解的两个加数都在这个序列中(除了1,两个加数可以相同),要求这个序列最短。

 

上机组的时候,就想了想,在纸上画了画,决定用BFS。

 

首先,BFS是一层一层往下搜的,则最先搜到的一定是最短的,所以最先搜到就可以保存了啦,所以打个表。。。就好了。

 

中间可能有点问题,如果搜到的比当前的短,把当前的覆盖掉,换成短的。

 

77那个数据,我的是10个,换成覆盖掉就9个了,很奇怪啊。

 

得上课了。。。

 

恩,上完了,老师太能说了,呵呵,跟我想象出入很大,是个年轻老师,不过人家说的都挺在理的。

 

恩。。可是,这个不是一层一层扩展的么,应该是逐步加深的啊,这个杂还还会少呢,我很费解啊。

 

党用的是迭代加深DFS神马的,恩。。我不会那个。。。

 

恩。想明白了。因为如果不是取最小的话,那么后面有些枝直接被截掉了,或许后面有机会更早到达77也被砍掉了,所以不要砍掉,保存最小的那个。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值