推箱子保证单调性的正确性

发布时间 2023-11-22 16:20:41作者: 最爱丁珰

如果保证了单调性,那么一个状态在出队的时候,一定是这个状态的最优情况

反证,如果不是最优情况,那么肯定存在一个状态A,A能到达这个状态且会让这个状态变优

由于这个状态变优了,要么就是箱子移动的步数少了,要么就是箱子移动的步数是一样的但人移动的步数少了

然后这个更优的状态是由A移动过来的,所以A状态中箱子移动的步数和人移动的步数一定小于等于这个状态

就是说BFS中,A一定比这个状态更先前搜索到,也更先出队

然后A就会拓展到这个状态的更优情况,这个更优情况就会入队,就不可能让这个状态在此刻出队了