题解:poj2449 Remmarguts' Date 【k短路模板】

传送门

这个题就是求第k短路的板子题,由于数据范围,不能暴力n*(最短路复杂度)来更新,必须使用用来求k短路的优秀的A*算法

A是搜索中比较高级的方式
它通过一个估价函数f(h)来估计图中的当前点p到终点的距离,并由此决定它的搜索方向,当这条路径失败时,它会尝试其他路径。
对于A
,估价函数=当前值+当前位置到终点的距离,即 f ( p ) = g ( p )+h ( p ),每次扩展估价函数值最小的一个。
对于第k短路算法来说,g ( p )为从源点s到当前点p所走的路径长度,h§为从当前点p到终点t的最短路,因此f§的意义就是从s按照当前路径经过p点后到达t的总距离。
h§需要在搜索之前进行预处理,只要将原图的所有边反向,再从终点t做一次单源最短路即可得到 h ( p )。

猜你喜欢

转载自blog.csdn.net/weixin_43464026/article/details/88359787