1. dijkstra算法在求最短路时不能有负权边,原因是贪心会挂。同样的最长路时不能有正权边。要用势能把负权边消除。势能只需要满足:若存在,则。有时可以快速算出。