![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深搜DFS
糖琴心
这个作者很懒,什么都没留下…
展开
-
dfs搜索框架整理
在对dfs的搜索框架进行debug的时候,发现每次出现的错误总是很类似的,这里对其进行整理一下。总体思想:dfs的时候,已进入函数体,有2种情况:1 一种是当前已经包含了当前搜索的点,这个时候不需要在函数内部进行标记,只要在遍历的时候进行标记即可。2 另外一种情况是当前还没有访问当前搜索的点,那么这个时候就要先判断是否越界,然后访问当前的点,并且进行标记,然后再进行结果剪枝,再进行搜索。...原创 2020-03-31 12:59:51 · 151 阅读 · 0 评论 -
DFS(7),BFS:P1162 填涂颜色——图的联通块染色
输入输出样例输入 #1复制60 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 1输出 #1复制0 0 0 0 0 00 0 1 1 1 10 1 1 2 2 11 1 2 2 2 11 2 2 2 2 11 1 1 1 1 1总结目录代码#include<iostream&...原创 2019-10-19 10:18:00 · 274 阅读 · 0 评论 -
DFS(6):P1092 虫食算——复杂逻辑与剪枝
输出格式一行,即唯一的那组解。解是这样表示的:输出NN个数字,分别表示A,B,C,…A,B,C,…所代表的数字,相邻的两个数字用一个空格隔开,不能有多余的空格。输入输出样例输入 #1复制5ABCEDBDACEEBBAA输出 #1复制1 0 3 4 2参考以下DFS代码,可以摸索出一个DFS模板void dfs(.....){ if(符合返回要求){ .... r...原创 2019-10-18 23:08:53 · 140 阅读 · 0 评论 -
DFS(5)P1040 加分二叉树——树形DP与记忆化搜索
输入输出样例输入 #1复制55 7 1 2 10输出 #1复制1453 1 2 4 5总结目录1 本题的DFS搜索思路2 如何使用记忆化搜索来减少时间1 本题的DFS搜索思路在本题中,我们的求值过程是使用左子树的分数,右子树的分数还有根节点的分数。这里很神奇的是我们并没有使用树的结构。而是直接使用了一组序列就足够表示树了。 对于这一题,如果是人来做的话,大概就会不断的枚举...原创 2019-10-17 22:11:12 · 156 阅读 · 0 评论 -
洛谷DFS训练(4):P1605 迷宫——经典DFS问题
输入输出样例输入 #1复制2 2 11 1 2 21 2输出 #1复制1总结目录1 DFS步骤与思路2 各个部分函数的细节1 DFS步骤与思路这个是个计数问题,那么DFS返回就很简单了,如果到达终点就total++,没有到终点就什么也不做。那么其他的问题就是,在当前节点寻找周围节点的时候,如何判断是可以访问的,那么只要有4个方向向量,遍历出NextX,NextY就可以了。...原创 2019-10-17 15:44:05 · 139 阅读 · 0 评论 -
DFS训练(3):P1101 单词方阵
总结目录1 本题的DFS思路与步骤2 细节函数的书写1 DFS思路与步骤本题主要是要求在一个单词方阵中,搜索我们需要的单词,其他置为*。考虑搜索的特性,这应该是属于深搜的范畴(向着一个方向进行搜索)。通过这题,我们主要是了解到了,如果要在一个矩阵中深搜一个东西,比如搜一个word[wordsize]的东西,那么我们先找mat[i][j]==word[0]的位置,然后再在8个方向上进行比...原创 2019-10-16 10:33:38 · 137 阅读 · 0 评论 -
DFS训练(2):P1019 单词接龙
输入输出样例输入 #1复制5attouchcheatchoosetacta输出 #1复制23说明/提示(连成的“龙”为atoucheatactactouchoose)总结目录1 题目要求与DFS的思路2 具体匹配函数的细节1 题目要求与DFS的思路1 匹配过程每个单词只能使用2次2 单词可以不全部用完3 每次搜素过程单词不可以被覆盖因此对于搜索,我们需要...原创 2019-10-15 21:47:47 · 123 阅读 · 0 评论 -
洛谷DFS训练(1):P1219 八皇后
输入输出样例输入 #1复制6输出 #1复制2 4 6 1 3 53 6 2 5 1 44 1 5 2 6 34目录总结1.深搜的总体结构2.本题的深搜思路1 深搜总体结构void DFS(在当前节点中,得到结果需要的变量1,变量2......){ if(深度搜索到达结尾的条件){ //到达结尾后进行其他的条件处理 } for(对于当前节点的周围变量进行搜索...原创 2019-10-14 16:57:41 · 110 阅读 · 0 评论