枚举顺序对于算法的影响

相信只要写过搜索的人都知道,一个好的搜索顺序可以降低非常多的时间复杂度。

枚举的顺序感觉就和这个东西差不多。废话不多说,进入正题。

近来做了一道gen4512的膜你赛题,day2第二题小G的烦恼,这道题就巧妙地运用了

枚举的顺序,一般自然的思路都只能想到二分,但是gen大佬用枚举巧妙地解决了这个问题

这种分析的思路很值得借鉴

链接:http://blog.csdn.net/qq_37816449/article/details/76079045

然后看蓝书的时候第一题突然也发现了这个问题

uva11292 the dragon loowater

这道题是一个很显然的贪心,让尽量能力小的骑士去砍龙就可以了

而在枚举的砍哪条龙的时候,不能从头直径大的开始枚举,因为如果这样的话,枚举骑士时

你会重复很多次操作,时间复杂度达到O(n*m)(忽略掉lower_bound),而反过来,从小到大枚举

却能很好的利用之前求出的值,在O(n+m)的时间复杂度里解决这道题。具体原因和上面那道题差不多

一切的优化都是减少重复计算的次数,对于这个技巧,更是如此,要多多总结


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值