弗洛伊德算法求解图中任意一对顶点之间的最短路径,其路径信息用二维数组path[ ][ ]存储,另外还需维护一个二位数组A(k)[ i ] [ j ]用来存储顶点i经由顶点k作为中间顶点到达顶点j的最短路径长度,当然如果以k作为中间顶点时路径较之前边长,则数组A中的路径长度仍不变,与其对应的path数 ...
分类:
编程语言 时间:
2019-08-20 00:40:08
阅读次数:
133
floyd求最小环 floyd求最小环 在Floyd的同时,顺便算出最小环。 Floyd算法 1 for(k=1;k<=n;k++) 2 { for(i=1;i<k;i++) 3 for(j=i+1;j<k;j++) 4 if(d[i][j]+m[i][k]+m[k][j]<min) 5 min=d ...
分类:
其他好文 时间:
2019-08-19 12:43:25
阅读次数:
60
题目:输入n头牛,m个关系。接下来m行每行两个int数a,b,代表a可以打败b 问:能确定多少头牛的排名 思路:floyd算法可以判断传递闭包问题(通过传递性推导出尽量多的元素之间的关系叫做传递闭包),模板题 ...
分类:
其他好文 时间:
2019-08-17 23:58:34
阅读次数:
169
The Tourist Guide Mr. G. works as a tourist guide. His current assignment is to take some tourists from one city to another. Some two-way roads connec ...
分类:
其他好文 时间:
2019-08-16 22:45:48
阅读次数:
123
图的存储有邻接矩阵,那么他就具备一些矩阵的性质,设有一个图的demo[100][100];那么demo[M][N]就是M—>N的距离,若经过一次松弛操作demo[M][N]=demo[M][K]+demo[K][N],即为demo[M][N]经过了两条条边的最小距离,floyd是 demo[M][N ...
分类:
编程语言 时间:
2019-08-16 22:33:15
阅读次数:
112
```cpp void Floyd(){ for(int i = 1; i ...
分类:
其他好文 时间:
2019-08-13 13:23:47
阅读次数:
74
网址:http://codeforces.com/problemset/problem/1202/B 题意: 这个题真的挺绕的,草(中日双语),就是给出一串序列,然后你可以往里面填数,使得填数后的序列可以被$x-y$计数器输出。$x-y$计数器的工作方式是:初始是$0$,每一步加上$x$或者加上$y ...
分类:
编程语言 时间:
2019-08-10 12:07:50
阅读次数:
156
string 操作: GCD : LCM : 扩展欧几里得 : 快速幂 : 矩阵快速幂 : 最长公共子序列LCS : 最短路Floyd : 并查集 : SG 打表 : SG_DFS : ...
分类:
其他好文 时间:
2019-08-07 23:00:43
阅读次数:
195
恢复内容开始 看到的结论:E是边数,n是点数量。 Dijkstra(迪杰斯特拉):适用于权值为非负的图的单源最短路径,优先队列优化 O(E+nlgn) SPFA:适用于权值有负值,且没有负环的图的单源最短路径,SPFA的最坏情况是O(Vn). Floyd(弗洛伊德):任意两点之间的最短路径。O(n^ ...
分类:
其他好文 时间:
2019-08-07 22:18:23
阅读次数:
136
最小环 分有向图和无向图。 有向图很简单:直接建边然后跑$Floyd$,跑完以后,$dis(i,i)$就是经过$i$点的最小环的长度。 无向图……就是在以$k$为中间点扩展之前就把$k$拿进去统计 像这样: c++ for(int k=1;k ...
分类:
其他好文 时间:
2019-08-03 12:59:57
阅读次数:
60