感觉这题实在是妙哉,妙在如何去掉冗余状态。
首先我们可以发现除了空位和特殊位其他都是本质相同的,所以容易设出状态 f i , j , x , y f_{i,j,x,y} fi,j,x,y表示使特殊位坐标为 ( i , j ) (i,j) (i,
P1979 [NOIP2013 提高组] 华容道
最新推荐文章于 2023-01-14 17:13:12 发布
这篇博客探讨了NOIP2013提高组的华容道问题,强调了解题的关键在于如何去除冗余状态。作者提出,除了空位和特殊位置,其他棋子的位置本质上相同。通过定义状态表示特殊位置和空位坐标,并使用DFS或BFS进行状态转移,但原始方法的时间复杂度为O(n²m²)。为了优化,作者指出当空位在特殊位置周围时,不应随意移动,于是简化状态表示为空位的方向。利用这个思路,初始状态用BFS预处理,然后使用SPFA进行转移,达到接近O(nm)的时间复杂度。
摘要由CSDN通过智能技术生成