1.Dijkstra 负权边无论有向无向必死。
关于有向的hack,一个节点只要打上了标记,就不可能再用该节点的dis更新别人,于是只要造一个桥,然后让桥的一端被松弛两次且第二次松弛该点已经被拿出打上标记(每次都是当前最优,但由于负边的存在,当前最优不是全局最优,所以会先更新一次,然后由于负权边加入再次松弛但此时可能已被打上标记去松弛桥的另一端,不符合dij的第一次拿出的点都是全局该点最优的局部最优解定义),桥的另外一端的dis就挂了。
1.Dijkstra 负权边无论有向无向必死。
关于有向的hack,一个节点只要打上了标记,就不可能再用该节点的dis更新别人,于是只要造一个桥,然后让桥的一端被松弛两次且第二次松弛该点已经被拿出打上标记(每次都是当前最优,但由于负边的存在,当前最优不是全局最优,所以会先更新一次,然后由于负权边加入再次松弛但此时可能已被打上标记去松弛桥的另一端,不符合dij的第一次拿出的点都是全局该点最优的局部最优解定义),桥的另外一端的dis就挂了。