[题意]给定n个点的图,正权无向边,正负权有向边,保证对有向边(u,v),v无法到达u,求起点出发到达所有点的最短距离. [算法]拓扑排序+dijkstra [题解]因为有负权边,直接对原图进行spfa,加slf优化后可过,但是这道题就没意思了. 理论上,最短路问题用spfa是不能保证复杂度的,但dijkstra的问题是不能处理负权边. 因为题目保证不能返回,实际上有向边将全图分成了几个部分.如果把仅由无向边连接的连通块看成点,则原图变成DAG. 对连通块内部进行dijkstra,在DAG上用拓…