算法理解
从一个点出发,遍历它的所有相邻点,一层一层往下遍历
T1:(30min)
bfs注意起点不一定在左上角,四个方向都要走
T2:(40min)
bfs注意山峰山谷有一个很重要的条件,周围的所有点高度必须大于或小于山峰山谷的高度
T4:(1h)
我打了一个SPFA,因为每一个点需要更新最小值并且可以重复入队(准确来讲T1,T2,他们先遍历到的一定比后遍历到的更优,因为它们所有相邻点点连的边边权都为1),而这道题边权不完全一样,所以先入队的不一定比后入队的更优,我们可以采取优化,使用双端队列(前后都可以进出),将边权是0的加入队首,边权为1的加入队尾,就可以保证被更新过的一定是最优的,所以每一个点最多被加入一次,大大提升了效率
标签:1.5,优先,遍历,一个点,边权,bfs,入队,宽度 From: https://www.cnblogs.com/zcxnb/p/18408228