K短路-魔法猪学院(A*算法)+骑士精神(IDA*算法)

这篇博客介绍了如何运用A*算法和IDA*算法解决K短路问题以及骑士精神问题。在K短路问题中,通过Dijkstra或SPFA求最短路,然后反向使用A*算法寻找最大次数。骑士精神问题采用IDA*算法,通过DFS模拟马的移动并设计合适的g(x)函数。

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

K短路-魔法猪学院

题意:给定一个能量值EEE,以及一些单向边权。求所拥有的能量能从111走到NNN多少次,并且每一次的走法不完全一样,即求最大的KKK使得 前KKK短路的和 不大于EEE

思路:

  1. 建边时将正反边都记录好
  2. 第一遍跑dijstradijstradijstraspfaspfaspfa将从111到所有点最短路求出来,作为A∗A^*A算法的g(x)g_{(x)}g(x)函数
  3. 然后反向跑A∗A^*A算法(即在反向边上跑BFSBFSBFS),那么如何跑呢?
  4. 我们可以利用优先队列,让f(x)f_{(x)}f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值