摘要: 松弛即利用某个点使得某条边的距离变短,如下图: \(1\) 到 \(2\) 的距离,不如从 \(1\) 到 \(3\) 再到 \(2\) 的距离短,于是我们就可以经过 \(3\) 使得 \(1\to2\) 这条边变短。而这就是松弛。 阅读全文
posted @ 2024-05-12 22:09 blind5883 阅读(27) 评论(0) 推荐(0)
摘要: 为数不多的全源最短路算法,全源即,全部点为原点,即算出任意两个点之间的最短路径。 前提条件,没有负环。可有负权。 因为中心思想是动态规划,所以有很强的性质,做题的时候注意利用。 中心思想 中心思想为动态规划。 现在我们设 f[k][i][j] 表示从点 \(i\) 到点 \(j\),只经过 \(1\ 阅读全文
posted @ 2024-05-12 22:08 blind5883 阅读(39) 评论(0) 推荐(0)
摘要: updata 2025.8.24 添加了一些 hack,说明了一些错误思想 基本上用不到的算法,和高精度一样,不常用,用到了又无可代替 常用于限制边数的最短路算法。 使用范围 可以处理任意边权的图,可以判断负环。 时间复杂度 \(O(nm)\)。因为太慢了,在求最短路的时候基本用不到,但是它的优化版 阅读全文
posted @ 2024-05-12 21:03 blind5883 阅读(14) 评论(0) 推荐(0)
摘要: updata 2025.8.24 修复了一些证明错误 易写,支持负权,可判负环,可以求最短路,也可以最长路,什么都行。就是容易被卡qwq,(退化为 Bellman_Ford)。所以SPFA他死了。是 Bellman_Ford 算法的队列优化版。 使用范围 支持负权,可以处理负环,可判负环,可以求最短 阅读全文
posted @ 2024-05-12 21:02 blind5883 阅读(31) 评论(0) 推荐(0)
摘要: 非常经典的单源最短路算法。仅能用于正权图(边权可为 \(0\))。拥有朴素版 \(O(n^2)\) 和堆优化版\(O((n + m)\log{m})\)。朴素版一般用邻接矩阵存图,而优化版使用邻接表或者链式前向星,我常用链式前向星。 中心思想 每次在没用过的点内找一个距离起点最近的点,用这个点对其他 阅读全文
posted @ 2024-05-12 21:01 blind5883 阅读(37) 评论(0) 推荐(0)