![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路算法
有关图论最短路题目的题解
Alphacoo
这个作者很懒,什么都没留下…
展开
-
AcWing 1129. 热浪(C++)
AcWing 1129. 热浪题意一个图中有T个点,C条无向边(连接 2 个城镇的道路),再给出一个起点和一个终点,求起点到终点的最短距离(数据保证至少存在一条道路)分析一个点到另一个点的最短距离怎么求? 当然是先求这个点到所有点的最短距离,然后就解决了,此题可以使用朴素dijkstra或者堆优化版dijkstra或者spfa,这确实是一道非常裸的求最短路模板题代码#include <iostream>#include <cstring>#include <qu原创 2020-11-19 17:01:35 · 813 阅读 · 0 评论 -
Dijkstra算法求最短路(堆优化版)
这篇文章是介绍Dijkstra算法的一种使用优先队列来求最短路的方式,下面将以一道模板题来进行说明AcWing 850. Dijkstra求最短路 II 题意求一个源点到 除了这个点之外其他所有的点 的最短距离, 不需要记录每条路径分析从输入案例来看,输入的应该是稀疏图,因此使用链式前向星来存储图等下会使用优先队列来优化找最短距离的点,c++优先队列的一种形式为priority_queue<Type, Container, Functional>Type 就是数据类型,Conta原创 2020-11-19 16:38:45 · 258 阅读 · 0 评论 -
Dijkstra算法求最短路(朴素版)
图论中求最短路的算法有很多,这里使用一道模板题来介绍可以求单源最短路的Dijkstra算法AcWing 849. Dijkstra求最短路 I题意求一个源点到 除了这个点之外其他所有的点 的最短距离, 不需要记录每条路径困惑这题一直困惑着我的是,为什么一开始找的最小的最短距离就是确定的最短距离?想了好久,后来慢慢就理解了。首先Dijkstra算法只能处理边权为正的图的最最短距离,既然所有边权都是正数,那么我们可以这样来想: 遍历了源点到所有点的距离,这里会发现源点到某一个点的距离是最原创 2020-11-19 15:56:59 · 199 阅读 · 0 评论