天天看点

搜索Ⅰ

保存一些没有那么难的搜索题目。

是通过图论标签找到它的,结果它是一个搜索题?

怎么说呢,图论的外表,搜索的内心。

从图论的角度来想,那就是对于 \(dijkstra\) 堆优化部分的进一步优化。由于边权 \(val\in{0,1}\) ,那么在堆中只会有两种 \(dis\) 的结点。考虑用双端队列优化这个部分。

从搜索的角度来想,如果它和国际象棋一样是交替的(也就是说它每走一步边权都是1),那么这就是当年学搜索的题目了,直接用一个队列就可以实现广搜。但问题是它的边权还有可能是0,那么我们就需要“更加高级”的队列,也就是双端队列。

两种思路实现方法一样,如果扩展的一个节点,它不比队首大,就丢到前面;反之,丢到队尾。这样就可以保持队列内部的单调性,就可以顺利完成转移。

一如既往,万事胜意