随笔分类 - dfs
1152. False Mirrors
摘要:http://acm.timus.ru/problem.aspx?space=1&num=1152有水了 dfs居然能过#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N=50;const int INF=0x7fffffff;int a[N];int ans;int n;void dfs(int L,int an,int I){ for(int i=1;i<=n;++i)
阅读全文
poj 1095 Trees Made to Order
摘要:http://poj.org/problem?id=1095先打个表 然后dfs一下#include<iostream>#include<cstdio>#include<cstdlib>#include<ctime>#include<queue>#include<cstring>#include<set>#include<cmath>#include<algorithm>#define LL long longusing namespace std;const int N=25;int
阅读全文
poj 4313 Matrix
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4313一遍dfs 注意值的传递就可以了#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<map>#include<cmath>#define LL long longusing namespace std;const int N=100010;const int M=1000000000;s
阅读全文
poj 1166 The Clocks
摘要:http://poj.org/problem?id=1166#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<map>#include<cmath>#define LL long longusing namespace std;const int N=11;char pre[N][10]={"" ,"ABDE","ABC" ,"BCEF"
阅读全文
poj 3140 Contestants Division
摘要:http://poj.org/problem?id=3140一遍DFS 枚举任一条边被切断的情况就可以代码:#include<iostream>#include<stdio.h>#include<string.h>#include<queue>#include<cmath>#include<stack>#include<algorithm>#define LL long longusing namespace std;const int N=100005;struct node{ LL sum; struct
阅读全文
hdu 4303 Hourai Jeweled
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4303算法有时候不是关键 关键在于思维能力这个题 一遍DFS就可以 不需要多复杂的算法但是需要较好的思维能力 才能在一遍DFS的情况下搞定左右情况的值自己是思维就是不行呀 看了提示才过的但是 不知道是因为 64位整型 和int型 相乘相加时会出问题 还是题目的一些数据大小的范围出问题啦纠结了n久 最后把一些int 都改成64位 就过了 是不是其他问题我也不知道这个题我是没法说思路啦 因为我已经挂了 呜呜呜呜呜~~~~~~~~~代码:#include<iostream>#include<std
阅读全文
poj 1691 Painting A Board
摘要:http://poj.org/problem?id=1691拓扑排序+DFS把矩形的先后顺序 用拓扑排序构造再进行深搜+剪枝就可以啦代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorithm>#include<set>using namespace std;const int N=21;struct node{ int x1
阅读全文
poj 3373 Changing Digits
摘要:http://poj.org/problem?id=3373DFS+强力剪枝伤不起呀 自己写怎么都写不出来 最后还看开了别人的解题报告思维能力还是不够呀推荐解题报告:http://blog.csdn.net/lyy289065406/article/details/6698787代码及其注释:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorith
阅读全文
poj 1724 ROADS
摘要:http://poj.org/problem?id=1724居然直接Dfs+剪枝就可以过 受不了啦!!!!!!!题目大意:n个城市间有单向路 路有长度和花费两个参数问在总花费不超过特定值的情况下从1到n的最短路 包括到不了的情况代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorithm>#include<set>using
阅读全文
poj 3411 Paid Roads
摘要:http://poj.org/problem?id=3411题目大意:n城市 m条路(可能重)每条路两种情况付费 a b c p r如果已经经过了c城则可以付费p 否则只能付费r求从1到n最小花费思路:记录各种花费 然后Dfs枚举 但是本题某一点可以多次不过由于边的数量是最多10 所以某一个点最多经过4此(自己想吧 亲!)快乐深搜 注意n=1的情况#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<q
阅读全文
poj 1699 Best Sequence
摘要:http://poj.org/problem?id=1699题目大意:给你n个字符串 可以让他们任意首尾合并相连求包含所以字符串的最短总字符串长度注意:只能首尾合并相连像 ACTG 和 CT 是不可以的思路:求出所以成对字符串合并会增加多少长度 并记录在表中然后Dfs搜索就可以啦 剪枝效果更好代码及其注释:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<a
阅读全文
poj 4155 The Game of 31
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4155题目大意:1,2,3,4,5,6 大小的牌 各有4张已经选了一些 可能继续选,可能不继续问谁会赢思路:无论该谁选 他的所有可供选择的牌中 只要有一张牌使他胜利(使对方输) 他就会胜利 否则就会输注意:输入用scanf();代码及其注释:#include<iostream>#include<cstring>#include<stack>#include<cstdio>#include<math.h>#include<algorithm>
阅读全文
poj 1330 Nearest Common Ancestors
摘要:http://poj.org/problem?id=1330最近公共父结点离线算法 LCA用并查集 和 dfs每搜到一个点 先让其父结点等于自己继续往下搜 这时如果询问已搜过的点 则两点之间的最近公共父结点就是 已搜过的点的最上父结点若没搜过 就继续深搜所用相连的点都搜完后 让此点的父结点为上一层结点#include<iostream>#include<cstring>using namespace std;const int N=10005;struct node{ struct tt *next;}mem[N];struct tt{ struct tt *next;
阅读全文
poj 1062 昂贵的聘礼
摘要:http://poj.org/problem?id=1062#include<iostream>#include<stdio.h>#include<algorithm>#include<math.h>#include<string.h>using namespace std;struct next{ int instead; int j; struct next *next;};struct head{ struct next *next; int need; int L;}mem[101];void build(int i,int
阅读全文
浙公网安备 33010602011771号