![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索剪枝
文章平均质量分 76
里阿奴摩西
这个作者很懒,什么都没留下…
展开
-
[Meet In Middle] BZOJ 2679 [Usaco2012 Open]Balanced Cow Subsets
hash好慢啊 我打low了?#include#include#include#includeusing namespace std;typedef long long ll;const int N=20;const int M=1600005;int cnt[1<<N],ans;namespace hashmap{ const int P=1030407; str原创 2016-07-10 18:40:26 · 758 阅读 · 0 评论 -
[DLX 数独 模板题] HDU 1426 Sudoku Killer
关于DLX解数独戳这里 好评#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,st原创 2017-04-05 10:20:25 · 554 阅读 · 0 评论 -
[DLX 多重覆盖 模板题] FZU 1686 神龙的难题
传送门就是改一下精确覆盖 但还是有不同需要注意的 因为是多重覆盖 DLX萎掉 效率虽然还是很快 但是没有精确覆盖那么神猛了#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; r原创 2017-04-05 10:22:53 · 404 阅读 · 0 评论 -
[DLX] IBM Ponder This May 2017 Letter gaps
裸的dfs随便剪剪就能跑出20多一点 这就启发我们直接上Dancing Link 列分别表示每个位置以及某个字符是否放了 行就枚举a-z和空格放在哪#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;const int N=205;const int M=200005;int ncnt;int原创 2017-06-09 14:56:26 · 468 阅读 · 0 评论 -
[搜索 剪枝] 算法马拉松25 E BigPrime
减掉所有只有小质数的数的个数就好了 大概就那么几千万个 首先包含大于根号b的质数只能有一个你可以直接算出来 然后再搜 怎么写都能三四秒出 然后你还要些剪枝 我是把大于三次根号b的质数瞎讨论一波 因为最多出现两个#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>using namespace std;原创 2017-05-31 08:38:30 · 427 阅读 · 0 评论 -
[搜索] ICPC 2016 Qingdao J & HDU 5991 Cliques
给你一个图,你可以执行删边或者加边这样的操作,然后将这个图变成若干个团,问最小的步数。 如果答案超过10,输出-1。dls orzz 想偷懒用set 结果T了#include<cstdio>#include<cstdlib>#include<algorithm>#include<set>#define read(x) scanf("%d",&(x))using namespace st原创 2017-03-29 07:47:42 · 880 阅读 · 0 评论 -
[搜索顺序] POJ 1165 [IOI 1994] The Primes
论文:王知昆--搜索顺序的选择根据元素取值范围和制约力确定搜索顺序1、最后一行和最后一列是取值范围最小的搜索元素,而且它们对其他所有的元素都有一定的制约力,因此要放在搜索序列的最前面。2、两条对角线同样影响到其他所有的搜索元素,制约力在剩下的格子中是最大的,因此也应当优先搜索。3、剩下的行列依据它们取值范围的大小确定搜索顺序。#inclu原创 2016-12-12 14:40:56 · 606 阅读 · 0 评论 -
[BFS 剪枝] BZOJ 2954 [Poi2002]超级马
直接以(0,0)广搜,判断是否能到(0,1)(0,-1)(1,0)(-1,0)但直接这样做复杂度过高,需要利用以下剪枝。1. 限制在(-100..100,-100..100)内移动2. 移动到一个点(x,y)时,判断(-x,-y)周围是否已到达3. 一旦判断成功,立即退出第一点剪枝的正确性本人尚不明第二点剪枝还是很妙的 不过没写几年前做的题 连代码是不是自己原创 2016-12-11 10:47:12 · 565 阅读 · 0 评论 -
[折半搜索 剪枝 随机化染色] 2015 计蒜之道 复赛 腾讯的星钻增值服务
题解里说的很详细 实在没有想到0.94的出错率 都可以随机化 不过在数据范围小 可以进行较多次随机的情况下 每次都出错的几率就很小了http://blog.jisuanke.com/?p=146先让我们来思考一下,如果这个问题被简化成“七种不同的星数分别为1, 2, 3, … 7”,这个问题应该如何解?由于背包的最大负重和代价都比较大,所以直接做 0/1 背包难度稍大。但是原创 2016-11-12 11:12:26 · 669 阅读 · 0 评论 -
[暴力搜索 剪枝 约数和反函数] BZOJ 3629 [JLOI2014]聪明的燕姿
约数和公式:sumd=(1+p1+p1^2+...+p1^a1)*...*(1+p1+p1^2+...+pn^an)我们枚举出所有形如1+pi+pi^2+...+pi^ai 放入hashmap然后对于约数和S分解因数 这里我们采用分解质因数后dfs的方法 时间复杂度是O(约数个数) 不会太大 最多一百多然后对于每个因数 去hashmap里查找对应的质数幂和 有些因数无对应 有些可能有多原创 2016-11-10 18:38:03 · 446 阅读 · 0 评论 -
[斐波那契循环节 搜索] BZOJ 4294 [PA2015]Fibonacci
fib数列关于10^x的循环节为6*10^x关于循环节可以看:http://blog.csdn.net/u014609452/article/details/53039157然后就可以低位到高位dfs#include#include#include#includeusing namespace std;typedef long long ll;inline ll原创 2016-11-04 20:58:14 · 645 阅读 · 0 评论 -
[搜索 剪枝] BZOJ3085 反质数加强版SAPGAP
%%% http://www.cnblogs.com/jianglangcaijin/p/4158422.htmlSAPGAP=Super AntiPrime, Greatest AntiPrime思路:#include#include#include#include#define clr(x,y) memset(x,y,sizeof(x原创 2016-03-20 19:28:04 · 1642 阅读 · 0 评论 -
[暴搜剪枝] BZOJ 3733 [Pa2013]Iloczyn
自己的姿势弱爆了学了CA的姿势 http://blog.csdn.net/creationaugust/article/details/50518813然后发现了更强的姿势 http://timeplayer.blog.163.com/blog/static/203718254201499113628671/#include#include#include#include原创 2016-06-28 07:43:20 · 995 阅读 · 0 评论 -
[DLX 精确覆盖 模板题] HUST 1017 Exact cover
题目链接关于DancingLinks可以戳这里 超详细 走心!#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+frea原创 2017-04-05 10:17:56 · 357 阅读 · 0 评论