随笔分类 -  搜索_优化剪枝

摘要:心路历程:震惊,我竟然得了$90$分!!。。。康康数据。。。奥。。(忽然有了邪恶的卡数据的想法) 于是把$for(int \space i=0;i<n;++i)$改成了$for(int \space i=n-1;i>0;--i) $ 然后,我$90$~ 然后,我开了$O2$,$A$了$OvO$。。。 阅读全文
posted @ 2019-06-06 21:17 LuitaryiJack 阅读(151) 评论(0) 推荐(0)
摘要:本蒟蒻终于开始接触数学了。。。之前写的都忘了。。。忽然想起来某神犇在几个月前就切了FWT了。。。 给出三个结论: 1.1-N中的反素数是1-N中约数最多但是最小的数 2.1-N中的所有数的质因子种类不超过10,质因子指数总和不超过30 简单说:2*3*5*7*11*13*17*19*23*27*29 阅读全文
posted @ 2019-05-07 13:33 LuitaryiJack 阅读(143) 评论(0) 推荐(0)
摘要:emm。。。挺秀的。。。挺神的? 每行,每列,每宫用一个二进制数表示选或没选的状态,刚开始设没选为1,然后更改状态的时候异或一下就好了; 这样可以通过lowbit取出每一个没有选过的数;(妙啊? 关于剪枝:每次选状态数最小的位置(就是能选择的数少的位置)去向下搜索(需要预处理出每个数代表的状态能选择 阅读全文
posted @ 2019-04-26 00:08 LuitaryiJack 阅读(155) 评论(0) 推荐(0)
摘要:好啊。。。太棒了。。。 dfs(拼到第几根木棍,这根木棍剩余长度,上一根木棍的位置) len是木棍的长度,cnt是木棍的个数 震撼人心的剪枝: 1.枚举长度从最大的木棍开始,直到sum/2,因为之后只能是一整个了。。 2.木棍从大往小试,减少状态数; 3.等长木棍搜索后,就跳过另一根等长的,因为状态 阅读全文
posted @ 2019-04-25 21:40 LuitaryiJack 阅读(218) 评论(0) 推荐(0)