枚举--笔记

1.枚举就是把所有的情况列出来,但是要尽量的优化,比如有些情况可以不用考虑。

2.枚举的具体例子

优化的具体方法:

(1)可以采用二分法,二分法的话就不用比较很多的情况,解决超时

二分法具体的用法是:把需要枚举的数或者情况分成两部分,找到中间的数字,如果中间的数字能够满足情况

我们就在让枚举的区间减小一点,最后枚举出来一个数就是答案

具体的例子如:分巧克力的题

http://www.cnblogs.com/jweie/p/8361704.html

(2)哈希表法,

哈希表的具体用法就是把已经知道的存储起来,用空间换时间的一种方法

具体做法就是先把先把一些情况算出来,减少接下来的循环次数

具体的例子是四个平方数和

(3)前缀和,这种方法也是为了减少枚举的量

具体的例子是K倍区间和

http://www.cnblogs.com/jweie/p/8365190.html

(4)把需要枚举的大的变量看看是否能转化成枚举次数较少的变量

具体的例子发牌

http://www.cnblogs.com/jweie/p/8365557.html

 (5)简化枚举,就是把原来一维数组表示的枚举过程转化成二维数组。

例题:搭积木,填数字

http://www.cnblogs.com/jweie/p/8366353.html       搭积木

 http://www.cnblogs.com/jweie/p/8366503.html       方格填数字

未完待续。。。。。。

 

原文地址:https://www.cnblogs.com/jweie/p/8342141.html