相信只要写过搜索的人都知道,一个好的搜索顺序可以降低非常多的时间复杂度。
枚举的顺序感觉就和这个东西差不多。废话不多说,进入正题。
近来做了一道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)的时间复杂度里解决这道题。具体原因和上面那道题差不多
一切的优化都是减少重复计算的次数,对于这个技巧,更是如此,要多多总结