![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
aelvm3
这个作者很懒,什么都没留下…
展开
-
A*
什么是A*搜索 A*简单来说就是优化后的bfs(广度优先搜索) 它与bfs相差的就是一个启性函数。 一道问题一般有各种各样的题设以给你启发。 但是有些问题中题设十分复杂。 那么就可以用A*搜索来简化搜索的时间。 bfs搜索的奥义是搜索所有的可能路径, 而A*搜索只需要利用启发函数, 较直接地走到终点。 什么是启发函数 启发函数,指利用题中所给题设, 估算当前点到达终点的预原创 2016-07-15 15:18:26 · 592 阅读 · 0 评论 -
第k短路
这可爱的问题,呵呵 启发式搜索的一大旗舰问题 要弄懂它,你先去复习一下可爱的spfa吧… ↓↓复习完的看这里(☄⊙ω⊙)☄↓↓原创 2016-07-31 21:12:29 · 567 阅读 · 0 评论 -
用bfs求dfs序(先序遍历序)
给你一棵树 求这棵树的dfs序 但是树的深度会爆系统栈 那么如何求出dfs序? 当然,空间足够 一般情况下有两种做法 1. 手写栈跑dfs 2. 跑bfs 第一种太过简单 我不予简介 我们主要说第二种 首先我们知道dfs序就是要先遍历左子树 那么我们是不是可以用一种神奇的方法 在bfs序的基础上做出dfs序 首先 我们知道 无论是dfs序还是bfs序 根节点一定原创 2016-09-09 22:30:22 · 1478 阅读 · 0 评论 -
VIJOS-P1360 八数码问题 A*
在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。Input输入初试状态,一行九个数字,空格用0表示 输入给出为123804765 其实际应表示如下:原创 2016-07-24 14:37:27 · 677 阅读 · 0 评论 -
USACO 2007 Dec Silver Mud Puddles bfs or A-star
标准做法是bfs暴搜 A*当然可过,标准A*寻路。 首先将图转成合适的形式,好看一点。 然后确定起止点。 下面代码未完善,做题时会超时…… 不过没错,也离正解不远了。#include <cstdio> #include <cstring> #include <set> struct point { int x,y; int g,h,f; bool ope原创 2016-07-24 14:25:52 · 679 阅读 · 0 评论