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

本文深入解析了使用A*算法求解第k短路问题的方法。介绍了A*算法作为搜索中的一种高级方式,如何通过估价函数f(h)来评估当前点到终点的距离,以及在失败后如何尝试其他路径。特别强调了对于第k短路算法,估价函数f的意义是从源点s经由当前路径到达终点t的总距离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传送门

这个题就是求第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 )。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值