题意:T个点R种双向边,P种单向边,求点S到每个点的最短距离 分析:(这再看不出来是spfa就该**了) 首先,这题能否用spfa就看他是否有负环呗,显然,双向边的权值非负,单向边还有个啥政策,总之显然是没有负环了 那么直接跑裸的spfa 没想到竟然t了 难不成spfa还有优化? 我带着怀疑的心情上 ...
分类:
其他好文 时间:
2020-04-29 01:02:11
阅读次数:
43
AC代码①: Ps:DP的时间消耗会更大,因为相对第一种代码还是做了很多无用计算 ...
分类:
其他好文 时间:
2020-04-28 13:19:23
阅读次数:
57
bellman_ford算法:有边数限制的最短路,可以处理重边、负边和自环。 给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你求出从1号点到n号点的最多经过k条边的最短距离,如果无法从1号点走到n号点,输出impossible。 注意:图中可能 存在负权回路 。 输入格 ...
分类:
其他好文 时间:
2020-04-16 00:56:58
阅读次数:
62
题解:设有一条边x->y,数组dis1[i]表示从1到i的最短距离,dis2[i]表示从n到i的最短距离。 1 如果说将x->y反向之前没有经过x->y,但是反向后我经过了x,y说明找到了一个更优的路径,那么反向后的答案就是dis1[y]+dis2[x]+(x,y),如果说反向后我没有经过 x->y ...
分类:
Web程序 时间:
2020-04-11 13:05:27
阅读次数:
84
Description N个城市,标号从0到N-1,M条道路,第K条道路(K从0开始)的长度为2^K,求编号为0的城市到其他城市的最短距离。 Input 第一行两个正整数N(2<=N<=100)M(M<=500),表示有N个城市,M条道路,接下来M行两个整数,表示相连的两个城市的编号。 Output ...
分类:
其他好文 时间:
2020-04-05 11:42:17
阅读次数:
104
924. 单词最短距离 中文English 给出一个单词列表和两个单词单词1,单词2,返回列表中这两个单词之间的最短距离。 样例 样例 1: 输入:["practice", "makes", "perfect", "coding", "makes"],"coding","practice" 输出:3 ...
分类:
其他好文 时间:
2020-03-29 01:20:53
阅读次数:
68
解题思路:(邻接矩阵存储) 用dijkstra算法依次求出每个结点到其余结点的最短距离 #include <stdio.h> #include <string.h> #define INF 0x3f3f3f3f #define MaxVex 1000+10 int G[MaxVex][MaxVex] ...
分类:
编程语言 时间:
2020-03-20 17:20:46
阅读次数:
119
1:Dijkstra算法 本算法可以算是贪心算法的实现,通过从起点出发去寻找与其他点的最短距离,找到该最短距离的顶点,然后里该顶点为中转点,去寻找 以中转点出发的到其他顶点更近的距离,从而通过一步步的选择找到最优的路径! 2:算法流程 流程如上图所示,v0到其他顶点的距离设置成一个数组path[0, ...
分类:
其他好文 时间:
2020-03-18 20:04:56
阅读次数:
62
前言 复习一下迪杰斯特拉算法,由于最小生成树的Prim算法与迪杰斯特拉算法极其类似,再顺便复习下最小生成树,顺便找两道水题验证代码正确性。 迪杰斯特拉算法 目的 该算法用于单源最短路,求一个图中,从起点S,到终点E的最短路径 思路 算法基于贪心思想,简单来讲就是两步: 找出起点距离其他点的最短距离中 ...
分类:
编程语言 时间:
2020-03-17 08:33:20
阅读次数:
87
Floyd: 问题:Floyd算法求解下图各个顶点的最短距离 解析: 从任意节点i到任意节点j的最短路径不外乎2种可能,1是直接从i到j,2是从i经过若干个节点k到j。所以,算法假设Dis(i,j)为节点u到节点v的最短路径的距离,对于每一个节点k,算法检查Dis(i,k) + Dis(k,j) < ...
分类:
其他好文 时间:
2020-03-03 19:12:15
阅读次数:
75