最短路
Dousir9
ACMer
展开
-
蓝桥-算法训练 ALGO-5 最短路【SPFA | 模板】
题目链接 题目描述: 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。 1 <= n <= 20000,1 <= m <= 200000,-10000 <= len <= 10000,保证从任意顶点都能到达其他所有顶点。 SPFA: 边权存在负数时不能用Dijkstra。 判断负圈:如果一个点进队列超过 n 次,则说明图中存在负圈 (代码中neg数组)。 注意: 如果是双向边的话链式前向原创 2020-09-25 22:58:33 · 151 阅读 · 0 评论 -
洛谷 P1342 请柬【Dijkstra | 反向建图】
题目链接 小记: 昨天一个学长面试中科院,其中有一道机试的题目就类似这道题,特此学习一下,希望明年的我也能保研成功,加油! 题目描述: 给一个有向加权图,求从编号为 1 的点向其他点 x 走并走回1的最短路径,这样的 x 很多,求它们的最短路径和。 题解: 可以把路径和分成两部分:从 1 到 x 们和 从 x 们 到 1,对于从 1 到其他点的最短路径和只需要跑一遍最短路,把数组 dis 累加即可;对于从其他点到 1 的最短路径和,可以反向(边的方向反向)建图跑一遍最短路,然后对 dis 数组就和。原创 2020-09-21 21:38:33 · 260 阅读 · 0 评论