
DFS
1
hesorchen
这个作者很懒,什么都没留下…
展开
-
Rescue(救援)搜索
Rescue原题面:Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, ROADs, and GUARDs in the prison.InputFirst ...原创 2019-11-29 15:18:57 · 5958 阅读 · 2 评论 -
洛谷P1032
题目链接一个比较简单的DFS题,数据范围很小,直接暴力即可。DFS问题关键的一点是剪枝,写搜索问题的时候应该自然而然地想到剪枝,并且尽可能的降低时间复杂度几个比较常见的剪枝技巧:1.已经超过之前的最优解,可以直接return2.已经出现过之前的情况,可以直接returnAC代码:/* * @Author: hesorchen * @Date: 2020-04-14 10:33:26 * @LastEditTime: 2020-06-20 21:24:46 * @Link: https:原创 2020-06-24 22:57:49 · 5317 阅读 · 0 评论 -
洛谷P1019
题目链接:传送门这个题意感觉有锅啊说是将重叠部分合为一部分,而事实上两个abababab的重合部分显然是本身,但是第二个测试点的数据则是将两个abababab连成了ababababababab另外吐槽一下洛谷的难度标签,感觉不是很准确思路:利用substr函数快速判断是否有重合部分(上面已经说到,由于重合部分取最小值,那么从原串的最后往前substr比较。每个串最多可以用两次,这个我刚开始没看到,以为只能用一次,还好样例过不去,重新看了一遍题才看到。只需将vis数组改成int型,然后++,判断原创 2020-05-15 16:24:58 · 5411 阅读 · 0 评论 -
洛谷P2036
题目链接:洛谷P2036一看数据范围,直接想到二进制枚举子集int main(){ // fre; int n; cin >> n; int ans = INF; int a[12], b[12]; for (int i = 1; i <= n; i++) cin >> a[i] >> b[i]; for (int i = 1; i < (1 << n); i++)原创 2020-05-15 15:26:23 · 5386 阅读 · 0 评论 -
洛谷P1135 搜索
题目链接:传送门一个水题,不过我dfs还是不太行,wa了两次这题可以用DFS和BFS写,另外也可以建图跑最短路。下面放双搜代码:BFS:int a[210];int A, B;bool vis[210];int n;int ff = -1;struct node{ int now, ans;};queue<node> q;void bfs(){ while (q.size()) { node temp = q.front原创 2020-05-13 20:31:09 · 5290 阅读 · 0 评论 -
123减法
题目大意:给你三个数n,n1,n2,n3。你可以对n做下面三种操作之一:将n减1将n减2将n减3最多做100次操作,且n不能等于n1,n2,n3中的任意一个,问你是否可以将n变成0。因为这题只有三种转移状态,我第一反应想到的是bfs搜索,很好实现,代码如下://https://blog.youkuaiyun.com/hesorchen// #include <bi...原创 2020-02-12 21:44:45 · 5447 阅读 · 0 评论 -
洛谷P1141 01迷宫 bfs求最大连通块+dfs记录过程
洛谷P1141 传送门这个题是昨天下午开始写的,昨天我一直以为是求最远路径,然后交了以后不是wa就是T,今天早上学长告诉我是求最大连通块。。。其实除了审题有问题以外,还有一个问题,就是这道题的询问次数可能高达十万次,就算是用时间复杂度较低的bfs也肯定会T,为什么我这么肯定呢?因为:学长是用两个dfs写的,第一个dfs用来标记所有连通块,第二个dfs用来记录当前连通块中每个格子。 ...原创 2020-01-30 12:20:53 · 6370 阅读 · 0 评论 -
洛谷P1162 填涂颜色-简单DFS
洛谷P1162 传送门先上原题:题目就是要找到一个封闭的图形,即被1完全包围的0。封闭图形保证一定有且只有一个。显然,图形的最外面一圈的0肯定不是封闭图形的一部分,所以刚开始我想搜索除了最外圈以外的0,只要搜索遇到了边界就不满足题意。但是后来写的过程中还是发现存在一些问题。然后就开始想别的思路,其实可以发现,既然封闭图形只有一个,不封闭的图形一定会到达边界,那么我们可以反着来,把所...原创 2020-01-29 14:16:37 · 5265 阅读 · 0 评论 -
洛谷P1101单词方阵-DFS
题目链接:洛谷P1101 传送门看完题目,很容易想到8个方向的深搜,比起一般的深搜,本题中每次搜索的方向是唯一的,因此可以在搜索函数中加上方向参数。 我们可以先找的一对连续的‘y’和‘i’来确定开始方向代码:#include <stdio.h>#include <cstring>#include <iostream>#include <...原创 2020-01-28 20:20:23 · 5378 阅读 · 0 评论 -
八皇后-DFS经典
DFS和BFS其实学的很早,但是DFS我一直很菜题目链接:洛谷P1219 传送门众所周知(In my opinion),八皇后是学DFS必刷的题,然而,本蒟蒻到今天才写。题目很简单,就是经典八皇后,只不过让你输出字典序最小的三个解,然后再输出总共有几种解。很简单,我们开四个数组a,b,c,d分别用来记录行、列、左上到右下,右下到左上这四种方向上皇后的占领情况,由题意,a数...原创 2020-01-28 17:07:59 · 5388 阅读 · 1 评论