A* || IDA*
Chester_King
虽千万人,吾往矣。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【BZOJ】1085 [SCOI2005]骑士精神 IDA*
题目传送门 好吧,对于一个初学者,我连自己打的是A*还是IDA*都不知道…… 这题如果用BFS来做肯定是要TLE的,那么我们就能想到用BFS的进化版——A*来做。 可以说BFS是一种特殊的A*:因为用A*的思想来考虑BFS,就会发现BFS的估价函数永远等于0。 A*比BFS就多了一个估价函数,但是A*却比BFS更快、更强! 设估价函数f(n)=g(n)+h(n),g(n)为当前搜索层数,原创 2017-04-15 10:21:00 · 678 阅读 · 0 评论 -
【BZOJ】1975 [Sdoi2010]魔法猪学院 k短路(最短路径+A*)
题目传送门 这题的正解——k短路还是挺好想到的,只不过题目告诉你的是路径长度总和,叫你求k的值。其他的和k短路的思想一模一样。 不过据说这题卡stl中的priority_queue,那么把priority_queue换成push_heap和pop_heap函数就好了。 关于push_heap等函数的介绍,看这里就行了,该博主讲的已经很详细了。 附上AC代码: #include #inc原创 2017-04-16 14:58:51 · 1166 阅读 · 0 评论 -
【POJ】2449 Remmarguts' Date k短路(最短路径+A*)
题目传送门 题目大意就是给出起点s,终点t和一个参数k,以及一张图,问s到t间的k短路。 对于所有k短路问题,我们都可以用最短路+A*的方法来解决。 首先,我们根据输入数据建两张图:一张是和输入数据边的方向相同的正图,另一张是和输入数据边的方向相反的反图。 我们对反图以终点t为起点做一遍最短路(我用的是SPFA),可以得到所有点到终点t的最短距离。 然后从起点s开始做一遍A*,第k次遍历原创 2017-04-15 21:40:25 · 534 阅读 · 0 评论 -
【BZOJ】1598 [Usaco2008 Mar]牛跑步 k短路(最短路径+A*)
题目传送门 补一发k短路(虽然以前会的,但是现在好像都忘光了……在学习的过程中还是要多复习啊)。 恩?这题不就是k短路的模板题吗?题意已经很明确了,就是让我们求前k短路的长度,若不存在则输出-1。 然后就是喜闻乐见的套模板……然后就是打板子的时候了。 不过OLE也是比较少见的,今天竟然被我弄出来了一个:已经找完k短路了,但是忘记退出a*函数了…… 打板子也不能放松啊,基础才是最重要的。(原创 2017-07-25 20:25:44 · 363 阅读 · 0 评论
分享