每日总结2021.4.21(补)

博客作者在昨晚的CF比赛中遇到问题,A题因超时未能解决,B题则完全无法解答。作者反思自己的不足,并详细探讨了在面对数据范围较大的问题时,如何利用双向广搜和A*算法进行优化。在双向广搜中,作者提到了二进制位表示状态、操作细节和返回位置等问题;而在A*算法的应用上,强调了适用条件、估价函数和入队策略等关键点。
摘要由CSDN通过智能技术生成

昨天晚上打cf,总结忘发。害,下次再不好好读题我就是sb,A题wa了三发,B题做不出,直接原地裂开。掉大分,归根结底:自己太菜了。

总结:
1.洛谷 p5507 机关 最坏情况每次12种选择,题目数据范围给出最多17步,铁定超时,所以想到用双向广搜或A*做,

双向广搜的做法:还是太菜了,debug花了一上午。(纪录几个小细节(1)正常情况下二进制0和1只能表示两种状态,此题有四种状态1,2,3,4,映射到0~3,正好可以用两个二进制位来表示。(当然也可以用字符串进行状态表示)(2)每次加1的操作 (x+1)&3 ,每次减一的操作 (x+3)&3 .(3)return 的位置,别让距离多加了(4)纪录中间相遇的状态,向两边展开 )

A* 的做法(有点玄学),(A*算法的几个细节:(1)首先是A *算法适用于一定有解的题目,如果一道题目不一定有解,不能用A**算法(2)该点到终点估计距离应小于等于实际实际距离,(3)A *算法可以解决权值不相等的题,权值也可以为负,只要不存在负权回路(4)只有在终点第一次出队是才能确保是最小值,其他点都不一定(5)某个点是否入队类似于图论的最短路,即某个点还没入过队或者真实距离可以更新就入队。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值