昨天晚上打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)某个点是否入队类似于图论的最短路,即某个点还没入过队或者真实距离可以更新就入队。)