ACwing(基础)--- Floyd
Posted bingers
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACwing(基础)--- Floyd相关的知识,希望对你有一定的参考价值。
Floyd算法
- 时间复杂度是O(n^3)
初始化
初始化:
for (int i = 1; i <= n; i ++ )
for (int j = 1; j <= n; j ++ )
if (i == j) mp[i][j] = 0;
else mp[i][j] = INF;
核心算法
- 注意:k,i,j不能调换顺序
// 算法结束后,mp[a][b]表示a到b的最短距离
void floyd()
{
for (int k = 1; k <= n; k ++ )
for (int i = 1; i <= n; i ++ )
for (int j = 1; j <= n; j ++ )
mp[i][j] = min(mp[i][j], mp[i][k] + mp[k][j]);
}
以上是关于ACwing(基础)--- Floyd的主要内容,如果未能解决你的问题,请参考以下文章