与Floyd-Warshall算法一样这里仍然使用二维数组e来存储顶点之间边的关系,初始值如下。 我们还需要用一个一维数组dis来存储1号顶点到其余各个顶点的初始路程,如下。 我们将此时dis数组中的值称为最短路的“估计值”。 既然是求1号顶点到其余各个顶点的最短路程,那就先找一个离1号顶点最近的顶 ...
分类:
编程语言 时间:
2018-04-18 15:57:13
阅读次数:
177
最小环问题:都比较容易得到从u 到 v 经过中间某一些结点的最短路,但是我们得确保回来的时候,不能经过那些结点,这样我们就需要改一下floyd算法了 进而我们想到用Floyd算法。我们知道,Floyd算法在进行时会不断更新矩阵dist(k)。设dist[k,i,j]表示从结点i到结点j且满足所有中间 ...
分类:
编程语言 时间:
2018-04-16 20:36:41
阅读次数:
296
水 为什么我的Floyd会输出负数啊? 为什么我的代码写对了却全都爆零了啊? 那么很可能是你的INF取大/小了! 那么inf到底应该取什么值呢? 首先,inf应该要比一般的题目中出现的数据要大,但是又不能超过max_int。 1e9是一个好选择! 为什么不是0x7fffffff呢?这不是int的最大 ...
分类:
其他好文 时间:
2018-04-16 18:48:58
阅读次数:
207
Floyd算法堪称经典。仅仅五行代码就可以求出多源最短路,建议好好思考为什么可以这样求 注意点:中转点k在最外层循环,这样可以确保【i】【k】,【k】【j】最小 膜拜大神: 矩阵对角优化,下三角,不存在路径优化,数学函数优化 http://hihocoder.com/problemset/probl ...
分类:
其他好文 时间:
2018-04-14 15:18:07
阅读次数:
157
题目:http://poj.org/problem?id=3613 题意就是求从起点到终点的一条恰好经过k条边的最短路; floyd+矩阵快速幂,矩阵中的第i行第j列表示从i到j的最短路,矩阵本身代表一个边数状态; 所以矩阵相乘就是floyd算法,两个矩阵相乘就得到它们所代表的边数相加边数的状态矩阵 ...
分类:
其他好文 时间:
2018-04-12 00:27:00
阅读次数:
208
题目:http://poj.org/problem?id=3613 Floyd求最短路的实质是矩阵的自乘。( i , k )是第 i 行第k列,( k , j )是第k行第 j 列;用它们的max更新( i , j ),正是矩阵的自乘。 给一个矩阵赋予“已走 r 条边”的意义,则已走m条边的矩阵×已 ...
分类:
其他好文 时间:
2018-04-12 00:11:08
阅读次数:
179
前言 Genius only means hard-working all one’s life. Name:Willam Time:2017/3/8 1、最短路径问题介绍 问题解释: 从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径 解决问题的算法: 迪杰斯特拉 ...
分类:
编程语言 时间:
2018-04-10 10:53:16
阅读次数:
231
Tarjan模板 拓扑排序模板 士兵排队问题 输入: n ,m 有m次操作 士兵人数 a b 若干行,表示a比b高 输出 合法的排队序列(由低到高) 最短路径模板 Floyd dijstra模板 SPFA 最小生成树模板 prim算法T_T(不会) Kruskal算法 并查集模板 ...
分类:
其他好文 时间:
2018-04-09 23:17:49
阅读次数:
347
题目链接: https://vjudge.net/problem/POJ-1125 题目大意: 股票经纪人要在一群人中散布一个谣言,而谣言只能在亲密的人中传递,题目各处了人与人之间的关系及传递谣言所用的时间,要求程序给出应以那个人为起点,可以在最短的时间内让所有的人都得知这个谣言。要注意从a到b传递 ...
分类:
其他好文 时间:
2018-04-07 16:19:00
阅读次数:
180