Floyd-Warshall算法其实是比较容易理解也比较容易coding的DP... 不说了,上代码:

#include <cmath>
#include <cstdio>
#include <vector>
#include <map>
#include <set>
#include <unordered_set>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;int main()
{//    Get inputint n, m; cin >> n >> m;const int INVALID = std::numeric_limits<int>::max();vector<vector<int>> mat(n, vector<int>(n, INVALID));for (int i = 0; i < n; i++)mat[i][i] = 0;while (m--){int i, j, len;cin >> i >> j >> len;mat[i - 1][j - 1] = std::min(mat[i - 1][j - 1], len);mat[j - 1][i - 1] = mat[i - 1][j - 1];}//    Floyd-Warshallfor (int k = 0; k < n; k ++)for (int i = 0; i < n; i ++)for (int j = 0; j < n; j++){if (i != j && i != k && j != k){if (mat[i][k] != INVALID &&mat[k][j] != INVALID)mat[i][j] = std::min(mat[i][j], mat[i][k] + mat[k][j]);}}//    Outputfor (int i = 0; i < n; i++){for (int j = 0; j < n; j++){cout << mat[i][j] << " ";}cout << endl;}return 0;
}

转载于:https://www.cnblogs.com/tonix/p/4398038.html

HihoCoder - Floyd算法相关推荐

  1. hihocoder1089 Floyd算法

    题目链接:http://hihocoder.com/problemset/problem/1089 算法描述: floyd算法是求解图中任意两点最短路的经典算法,复杂度为O(n^3).虽然我们完全可以 ...

  2. 数据结构与算法(7-4)最短路径(迪杰斯特拉(Dijkstra)算法、弗洛伊德(Floyd)算法)

    目录 一.最短路径概念 二.迪杰斯特拉(Dijkstra)算法(单源最短路径) 1.原理 2.过程 3.代码 三.弗洛伊德(Floyd)算法(多源最短路径) 1.原理 2.存储 3.遍历 4.代码 参 ...

  3. 【POJ/算法】 3259 Wormholes(Bellman-Ford算法, SPFA ,FLoyd算法)

    Bellman-Ford算法 Bellman-Ford算法的优点是可以发现负圈,缺点是时间复杂度比Dijkstra算法高.而SPFA算法是使用队列优化的Bellman-Ford版本,其在时间复杂度和编 ...

  4. 最小环算法求解(Dijkstra算法+Floyd算法)

    方法一: #include<iostream> #include<algorithm> #include<cmath> #include<cstdio> ...

  5. HDU2544(Bellman-ford算法和Floyd算法)

    思路: 1.初始化时将起点 s 到各个顶点 v 的距离 dist(s->v) 赋值为 ∞,dist(s->s) 赋值为 0: 2.后续进⾏最多 n-1 次遍历操作 (n 为顶点个数), 对 ...

  6. 【图论专题】Floyd算法及其扩展应用

    Floyd的拓展应用: 任意两点最短路 传递闭包 找最小环 恰好经过k条边的最短路(倍增) 题目列表: 题目 算法 AcWing 1125. 牛的旅行 任意两点最短路Floyd AcWing 343. ...

  7. 【图论】用一道题从本质上讲清楚Floyd算法

    P1119 [灾后重建] 4 5 1 2 3 4 0 2 1 2 3 1 3 1 2 2 1 4 0 3 5 4 2 0 2 0 1 2 0 1 3 0 1 4 -1 -1 5 4 一道非常好的Flo ...

  8. 图的单源最短路径,Floyd算法(数据结构c++)

    这个算法结构很是简单,但是理解还是有一定的困难,一开始做的时候想不明白,跟着算法自己动手画画就知道这个算法具体是怎么回事了. 时间复杂度是O(N*3) 算法有点动态规划的意思,有两个数组,一个(dis ...

  9. floyd算法_最短路径的算法:Floyd算法

    点击箭头处"蓝色字",关注我们哦!! 算法 最短路径的算法-Floyd算法 ● ○ ● Shortest Path Algorithm - Floyd Algorithm ● ○ ...

  10. 最短路径—Dijkstra算法和Floyd算法

    Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Di ...

最新文章

  1. DPU加持下的阿里云如何做加密计算?
  2. 在你做回归测试的时候,突然有个着急的测试需求,你会怎么做?
  3. 【C 语言】数组 ( 指针数组用法 | 命令行参数处理 )
  4. 机器学习基础6--集群模型和算法
  5. python xgboost安装_win7 64 python2 xgboost安装
  6. springboot集成与使用Sentinel
  7. 群赛 ZOJ3741(dp) ZOJ3911(线段树)
  8. python中的if语句
  9. 软件工程专业要学什么课程?
  10. 微信公众平台 登陆php,javascript - 微信公众号开发,如何使用户保持登录状态
  11. html全屏显示两个显示器,google-chrome – 跨多个显示器的Windows / Chrome / ATI /浏览器全屏...
  12. 注册一个域名需要多少钱_购买一个域名要多少钱?
  13. GDS List内容详情
  14. 算法套路学习之回溯算法-----子集,排列,组合等问题如何解决
  15. 达人评测锐龙r7 5800h和酷睿i7 12650h选哪个好
  16. POI获取文本单元格的数字变成科学计数法的处理方法
  17. gif截屏工具推荐(ScreenToGif)
  18. 汉诺塔——老夫不管什么分析不分析,直接粗暴
  19. 想念靠在肩膀上的依恋
  20. 【推荐】智慧油田数字化油井智能入侵监测井口控制系统解决方案合集(共83份,884M)

热门文章

  1. 使用定位技术,边界判断要谨慎
  2. WINDOWS各类执行程序的接口总结
  3. 以前做过一个光标代码的梦,貌似也是个预言梦
  4. 可编译运行:调用ffmpeg接口,将RTSP流保存为MP4的C代码
  5. 黎曼ζ 函数中的Γ是否与欧拉B函数中的Γ一样
  6. LINUX查看一个进程用的内存准确数量
  7. c++数组排序_为什么?为什么?Java处理排序后的数组比没有排序的快?想过没有?
  8. Dxg——AD(Altium Designer) 开发笔记整理分类合集【所有的相关记录,都整理在此】
  9. 语言余一个负数_Python 中负数取余问题
  10. 如何强制卸载edge_如何卸载微软Windows10自带的Edge浏览器?试试这个方法