深度优先搜索(Depth-First-Search),简称深搜、DFS,由Robert Tarjan与John E. Hopcroft提出。多用于处理地图搜索、全排列,在竞赛中也是一个骗分神器。 刚入门会觉得,绕来绕去,又调用自己,会感到学习困难,但只要做多了,便觉得so easy。 ...
分类:
其他好文 时间:
2018-03-05 21:37:56
阅读次数:
167
提到树上倍增就不得不先说说最近公共祖先(LCA)了 如下图所示 ④和⑤的LCA即为②(绿色的) 那怎么求LCA呢? 最简单粗暴的方法就是先深搜一次,处理出每个点的深度 然后把深度更深的那一个点④一个点地一个点地往上跳,直到到某个点③和另外那个点⑤的深度一样 然后两个点一起一个点地一个点地往上跳,直到 ...
分类:
其他好文 时间:
2018-03-02 23:08:30
阅读次数:
601
题目:https://www.luogu.org/problemnew/show/P1092 剪枝1:从右往左、从上往下按字母出现顺序搜索; 剪枝2:同一列前两个数字确定,可直接算出第三个数字并判断; 剪枝3:每次搜索前看看前面的列上有没有已经不符合的情况(进位最多为1); 代码如下: ...
分类:
其他好文 时间:
2018-02-26 20:35:04
阅读次数:
117
迭代加深搜索基础 题目描述 A little known fact about Bessie and friends is that they love stair climbing races. A better known fact is that cows really don’t like ...
分类:
其他好文 时间:
2018-02-25 17:15:41
阅读次数:
219
B - Dungeon Master POJ - 2251 B - Dungeon Master POJ - 2251 B - Dungeon Master 深搜: 宽搜AC: ...
分类:
其他好文 时间:
2018-02-22 19:47:31
阅读次数:
205
Description 如果无向图G每对顶点v和w都有从v到w的路径,那么称无向图G是连通的。现在给定一张无向图,判断它是否是连通的。 Input 第一行有2个整数n和m(0 < n,m < 1000000), 接下来m行每行有2个整数u,v (1<=u,v<=n)表示u和v有边连接。 Output ...
分类:
其他好文 时间:
2018-02-21 15:53:12
阅读次数:
448
从任意一点开始,求一段连续的最长下降子序列,问这段序列最长为多少;分别向下搜索上下左右四个方向,返回最大值 #include #include using namespace std; const int MAXN = 100; const int INF = 0x3ffffff; int mp[M... ...
分类:
其他好文 时间:
2018-02-07 21:13:39
阅读次数:
93
题目链接:http://poj.org/problem?id=1321 题意:给定棋盘区域,要求对于k个棋子存在多少种不同的摆放方案 思路:经典dfs,标记行列进行深搜,然后取消标记。循环得到摆放方案的种数 代码: #include<cstdio> #include<cstring> #includ ...
分类:
其他好文 时间:
2018-01-30 20:02:29
阅读次数:
179
1 #define _CRT_SECURE_NO_WARNINGS 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #... ...
分类:
其他好文 时间:
2018-01-28 23:18:54
阅读次数:
239
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1709 题意:'@'是油田,上下左右如果出现'@'表明是同一片油田,问区域内有几片油田。 思路:出在了广搜的专题,然而还是按照当年第一次接触深搜时的思路写的,如果搜到 ...
分类:
其他好文 时间:
2018-01-28 20:01:09
阅读次数:
139