正统双端队列搜索 回顾:普通队列进行边权为定值的最短路 每次到达都是最优的(意味着不用取min) why? 因为所有状态按照 入队的先后顺序 具有 层次单调性,每次扩展,都往外走一步,满足从起始到该状态的最优性(不用取min/也不用比大小,如果如此失去了意义) 回到正题:双端队列可以进行边权两个定值(我们在此简化成1/0)的最短路 操作:对于一条边u到v,如果此边权值为0,我们将它push_front(v),否则push_back(k),每次取队首 这样我们保证了单调性(即每次优先选择最优的)…