DFS
Vi_cki_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
迭代加深搜索
IDDFS 题目 LOJ 10022“埃及分数” 题目链接https://loj.ac/p/10022 迭代加深,字面意思。适用于搜索树很深而且很宽的题,如果直接使用DFS会陷入递归无法返回;如果直接用BFS,队列可能爆炸。 具体操作模板: 1、先设定搜索深度为1,用DFS搜索到第1层即停止 2、如果没有找到答案,再设定深度为2,用DFS搜索2层即停止 3、继续设定深度为3,4,5巴拉巴拉巴拉,逐步扩大DFS的搜索深度,直到找到答案 每一层的广度上采用了DFS的搜索思想,在具体变成实现上是DF原创 2021-01-28 11:05:17 · 328 阅读 · 0 评论 -
IDA*
题目 poj 3134 题目链接https://vjudge.net/problem/POJ-3134 前言: 说一下IDA*是对迭代加深搜索的优化,加一个估价函数,预测出当前DFS的状态不再搜索下去,就可以直接返回,提高了效率。简单说,就是在IDDFS过程中利用估价函数进行剪枝操作。 题目分析: 翻译:等价于从数字1开始,用加减法,最少算多少次才能得到n。(这样清楚多了吧!) 难点:如果每一步进行搜索,新值的数量增长非常快。直接DFS深度可能有1000很大概率就溢出了,如果用BFS也可能超出队原创 2021-01-27 16:45:03 · 140 阅读 · 0 评论 -
N皇后问题经典DFS
题目 HDU 2553“N皇后问题” 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2553 前言: 通过这个题学习到了剪枝。暴力破解会超时啊,就很拿人。DFS的难点在于扩展子节点的时候如何构造停止递归并返回的条件,就要用到剪枝函数。 依然举个例子,分析一下4皇后怎么搞。 思路如下: 从第一行开始放皇后:第一行从左到右有4种方案,产生4个结点;第2行,排除同列和斜线,拓展新的结点,注意不用排除同行,因为第二行和第一行已经是不同行的了。继续拓展第三行和原创 2021-01-27 14:42:00 · 442 阅读 · 2 评论 -
DFS模板题
题目HDU1312 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 在这里说一下DFS的思路吧,DFS就是递归,设num是到达砖块的数量,算法过程描述如下: 在出书位置令num=1,标记这个位置已经走过 左,上,右,下四个方向,按顺时针顺序选一个能走的方向,走一步 在新的位置num++,标记这个位置已经走过 继续前进,如果无路可走,回退到上一步,换个方向再走 继续以上过程,直到结束 诶图像传不上来,不传了,挺简单的,我这种笨比都能懂 A原创 2021-01-27 10:03:37 · 283 阅读 · 1 评论
分享