
DFS
DFS
River_____________
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 1979(DFS)
题意:求给定起点的最小连接块的组成个数 分析:简单的DFS 收获:加强了DFS的理解(以后要看清题意,这个竟然先输入列数,因为这个卡了好长时间。。。。。) AC代码: #include #include #include using namespace std; char s[1000][1000]; int m,n; int c,d; int sum原创 2017-02-26 09:33:11 · 236 阅读 · 0 评论 -
UVA - 11210(DFS)
题意:给出十三张牌,求听哪些牌。 被听的牌:这十四张牌可以组成4组A类牌和一组B类牌。 A:三张牌是同花色并且是顺子 或者 三张一样的牌 B:对子 牌的数量很少,直接搜。注意如果已经有四张牌就不能听了。 #include using namespace std; string str[40] = { "1T","2T","3T","4T","5T","6T","7原创 2017-10-25 11:50:22 · 182 阅读 · 0 评论 -
POJ - 3041(二分图最大匹配)
没看出是二分最大匹配。。(能看出就用Dinic写了,但是不会手写啊哈哈哈) 学习了匈牙利算法: 思想是按照DFS来增广路径,寻找最大匹配 #include #include #include #include #include #include #include #include #include #include using namespace std; #defi原创 2017-05-20 23:37:48 · 373 阅读 · 2 评论 -
岁月如初dfs poj1321 (类八皇后问题)
赛场上遇见搜索才知道自己的搜索很差劲。刷kuangbin补习!(*1) 这是个最简单的类八皇后问题,逐行搜索就可以了,每次标记出现过棋子的列,然后一直搜索,直到deep==k的时候,ans加一就可以了。 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可原创 2017-04-06 19:24:38 · 249 阅读 · 0 评论 -
HDU 5547(DFS)
比赛时遇到搜索才知道自己对于搜索一无所知。。。 学习了大神的代码,自己写下总结。 r[i][k]代表在第i行有没有k出现过。 c[j][k]代表在第j列有没有k出现过。 我们认为当且仅当 * 所在的行和列都未出现过某个数字的时候 * 所在的位置才能填上这个数字。 所以,我们对于 * 所在的行和列判断1,2,3,4 能否加入,并且需要回溯。因为结果一定存在,那么不用判断结果不存在的转载 2017-04-06 14:32:37 · 370 阅读 · 0 评论 -
poj2488(dfs)
Background The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey around the world. Whenever a knight moves, it is two squares in原创 2017-03-29 18:50:12 · 277 阅读 · 0 评论 -
Curling 2.0 POJ - 3009(DFS,障碍关联位置)
题意:大模拟DFS就是模拟摸摸摸 分析:结合代码给出,见下方代码 收获:对于萌新来说每一次都有新收获。 写DFS还是要从整体的角度看问题,比如这个题中的障碍的撞碎问题怎么模拟,可以利用每次深搜到尽头之后修复被撞碎的障碍来保证其他的DFS正确(看的学长的思路,这一手很皮的)。 对于一直前进的处理就是for()来确定方向,不停向前for(int j=0; ;j++)利用j来求出x和y的实时坐标转载 2017-03-09 00:15:58 · 284 阅读 · 0 评论 -
AOJ0033 (DFS)
题意:十个球按给定顺序从图中所示容器中下落,然后挡板可以让球落在左边或者右边,问给定球的顺序,是否存在两边从低到高都是递增的情况。 分析:可以直接提取一个最大递增字串然后判断剩下的是否递增,也可以DFS对每次小球下落的方向进行判断。 收获:正向不回溯的DFS AC: 1.提取 #include #include #include using nam原创 2017-02-26 11:19:58 · 695 阅读 · 0 评论 -
AOJ0118(DFS)
题意:求连通块的个数 分析:dfs标记连续的相同块就可以了 收获:dfs AC: #include #include #include using namespace std; char s[105][105]; //int dx[4]={ -1, 1,0, 0 }; //int dy[4]={ 0, 0, -1, 1 }; int ma[4][2] = {原创 2017-02-26 10:49:27 · 525 阅读 · 0 评论 -
HDU - 5952(暴力DFS)
范围这么小一看就是暴力。 直接爆的话会T 每个点从小到大,找出包括这个点的所有满足的团,按照这样的方向,可以保证找过的点一定不会再找。 #include using namespace std; int m[105][105]; vectores[1111]; int N, M, S; int ans; int E; int s; int v[1111]; bool check(int x原创 2017-10-17 15:56:15 · 456 阅读 · 0 评论