启发式搜索
aelvm3
这个作者很懒,什么都没留下…
展开
-
A*
什么是A*搜索 A*简单来说就是优化后的bfs(广度优先搜索) 它与bfs相差的就是一个启性函数。 一道问题一般有各种各样的题设以给你启发。 但是有些问题中题设十分复杂。 那么就可以用A*搜索来简化搜索的时间。 bfs搜索的奥义是搜索所有的可能路径, 而A*搜索只需要利用启发函数, 较直接地走到终点。 什么是启发函数 启发函数,指利用题中所给题设, 估算当前点到达终点的预原创 2016-07-15 15:18:26 · 603 阅读 · 0 评论 -
第k短路
这可爱的问题,呵呵 启发式搜索的一大旗舰问题 要弄懂它,你先去复习一下可爱的spfa吧… ↓↓复习完的看这里(☄⊙ω⊙)☄↓↓原创 2016-07-31 21:12:29 · 583 阅读 · 0 评论 -
VIJOS-P1360 八数码问题 A*
在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。Input输入初试状态,一行九个数字,空格用0表示 输入给出为123804765 其实际应表示如下:原创 2016-07-24 14:37:27 · 720 阅读 · 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 · 726 阅读 · 0 评论