最短路
文章平均质量分 58
.SAI.
十年感悟 两年参悟
展开
-
无向图的最小环问题 (Floyd算法)
问题描述:题目传送门解题思路:原创 2022-01-13 20:04:27 · 1946 阅读 · 2 评论 -
洛谷P1037 产生数 (Floyd联通性问题)
问题描述:题目传送门解题思路:可以利用乘法原理,判断原数上每一位数字有几种变化情况,然后相乘即为答案。很显然,题目所给的变化情况即为一条边,而每一个数字的变化即为一个连通块,因此单个数字变化的个数即为这个连通块的大小。判断联通快的算法很多,可以通过 dfsdfsdfs 和 bfsbfsbfs 等搜索进行遍历每个连通块,这里我们通过 FloydFloydFloyd 求出 iii 和 jjj 是否相连来解决连通块问题。既 iii 所能到达的所有 jjj 都处在同一连通块,至于连通块的大小即为 ii原创 2022-01-13 15:33:33 · 319 阅读 · 0 评论 -
51nod 2650 最短缩减路径 (拆点最短路)
问题描述:题目传送门解题思路:我们一般会想到先在图上跑一遍最短路,然后在最短路径中找一条最长的边进行缩短。但是很容易可以发现,这种做法是很假的,因为缩短路径可能会使某条非最短路变成最短路。此时我们需要考虑一种清奇的思路。构建两张一模一样的图,其中上图 GGG 表示还未使用路径缩短的图,下图 G′G'G′ 表示已经使用了路径缩短的图,而上下图连接的单向变表示被路径缩短的边。如图:这样一来,由于在路径中必然需要使用一次路径缩短,因此我们必然要从上图的起点到达下图的终点,因此我们可以在这种双层图原创 2022-01-13 11:15:39 · 445 阅读 · 0 评论 -
最短路模板大全
例题:题目传送门解题思路:各路板板摆上:SPAF 最短路(链式前向星)int head[200010]={0},tot=0;struct Gar{ int x,y,w,next;} e[500010];void add(int x,int y,int w){ tot++; e[tot].x=x; e[tot].y=y; e[tot].w=w; e[tot].next=head[x]; head[x]=tot;}queue<int> q;bool us原创 2022-01-12 16:27:28 · 309 阅读 · 0 评论 -
SSL 1613 最短路问题
题目描述:有 NNN 个点(N<100)(N<100)(N<100),给出每个点的直角系坐标,某些点之间有双向变相连,边权为坐标上两点的直线距离,现在给出你原点和目标点,让你求两点间的最短路(保留两位小数)。样例输入:50 0 2 02 20 23 151 21 31 42 53 51 5样例输出:3.41解题思路:典型的最短路问题,由于NNN 太小了,我们可以用任何算法随便搞。这里来介绍FloyedFloyedFloyed 算法。Floyed原创 2021-12-25 15:38:27 · 893 阅读 · 0 评论