【洛谷】P2324 [SCOI2005]骑士精神

本文深入解析IDA*算法,一种结合了迭代深化深度优先搜索(IdDfs)与A*算法特性的高效路径寻找方法。通过使用估价函数来限制搜索深度,并在每层搜索中运用贪心策略,IDA*能够在有限时间内找到最优解。文章详细介绍了算法的工作原理,包括如何设定估价函数以及如何在实际问题中应用。

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

IDA*练习题

1、IDA*=IdDfs+A*

1.1、IdDfs用于单层“无限”情况但是解层数很少,这时可以限制Dfs层数,Id为每次的层数限制

1.2、A*具有估价函数,用于Bfs快速求解

IDA*就是将估价函数用于层数限制的Dfs中,如果具有层数的Dfs仍然无法满足时间限制,那么可以考虑题目性质进行估价函数的剪枝,其实估价函数基本随缘,就是已经干了的和最小还需要干的加起来,进行贪心考虑,如果最小还不行,那这个方案就直接滚蛋,否则继续Dfs

所以这道题的估价函数就是:已经走的步数+至少还需要走的步数(当前整个图的状态与目标图的差距,不同则加1)

层数很清楚了,最多15层

AC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值