图论-0-1BFS问题

0-1BFS问题是指最短路问题中,边权只有 0 和 1 的特殊情况。写法类似 SPFA + SLF(Small Label First) 优化。需要一个 deque 。把权值 0 的边扩展到的点放到队首,权值 1 的边扩展到的点放到队尾。时间复杂度 O(V + E) 。

 

1 while (!Q.empty()) {
2     int p = Q.front(); Q.pop();
3     for (枚举 p 的出边) {
4         更新 dis 
5         w[e] == 1 ? Q.push_back(...) : Q.push_front(...);
6     }
7 }

 

这好像是个挺重要的知识点,有很多可以用 0-1BFS 解决的问题,然而以前并不知道,真是危险的操作……

1. 裸题:https://vjudge.net/problem/SPOJ-KATHTHI

posted @ 2018-08-01 19:52  derchg  阅读(757)  评论(0编辑  收藏  举报