【洛谷P1186】玛丽卡

最短路的扩展题。

在没堵车之前,他会按照这张图的最短路走,所以我们跑一下dijkstra求一遍不堵车情况下的最短路,同时记录最短路径上每一个点的前驱。

考虑堵车的情况,我们枚举每一条边作为堵车的边,并标记。再跑一边dijkstra求一遍除这条堵车边的最短路,更新答案。

我们枚举每一条边作为堵车的边,最后就能得出答案,时间复杂度为O[m(m+n)logn]

原文地址:https://www.cnblogs.com/shl-blog/p/11078010.html