图论学习笔记·$Floyd$ $Warshall$
对于图论——虽然本蒟蒻也才入门……于是有了这篇学习笔记\(qwq\)
一般我们对于最短路的处理,本蒟蒻之前都是通过构建二维数组的方式然后对每两个点进行1次深度或者广度优先搜索,即一共进行\(n\)^2遍深度(DFS)或广度优先搜索(BFS)……直到学习了Floyd算法\(qwq\)
先上核心代码\(Code\):
for(k=1;k<=n;k++)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(e[i][j]>e[i][1]+e[1][j]) e[i][j]=e[i][1]+e[1][j];
}
}
}
这段代码的基本思想就是:最开始只允许经过1号顶点进行中转,接下来只允许经过1号和2号顶点进行中转……允许经过1~\(n\)号所有顶点进行中转,求任意两点之间的最短路程。
用一句话概括就是:从\(i\)号顶点到\(j\)号顶点只经过前\(k\)号点的最短路程。
其实,这只是一种名叫“动态规划”(\(dp\))的思想怎么可能告诉你我也不会\(QAQ\)
随机推荐
- Springboot 整合 MyBatisPlus[详细过程]
Springboot 整合 MyBatisPlus[详细过程] 提要 这里已经将Springboot环境创建好 这里只是整合MyBatis过程 引入Maven依赖 添加MyBatisPlus启动依赖, ...
- 『现学现忘』Git基础 — 20、Git中忽略文件补充
目录 1.忽略文件常遇到的问题 2.忽略文件配置优先级 3.忽略已跟踪文件的改动(本机使用) 4.autocrlf和safecrlf参数说明 (1)提出问题 (2)autocrlf说明 (3)safe ...
- RabbitMQ 3.9( 基础 )
1.认识MQ 1.1.什么是MQ? MQ全称:message queue 即 消息队列 这个队列遵循的原则:FIFO 即 先进先出 队列里面存的就是message 1.2.为什么要用MQ? 1.2.1 ...
- 公司为什么要使用OKR,目的是什么?
原创不易,求分享.求一键三连 站在公司角度,会有一些诉求: 想知道每个人在干什么,干得怎么样: 想知道如何把更多的人卷起来: 人是不想被管束的,无论是想"度量我"还是想卷我,都是我 ...
- Django学习——分页器基本使用、分页器终极用法、forms组件之校验字段、forms组件之渲染标签、forms组件全局钩子,局部钩子
内容 1 分页器基本使用 2 分页器终极用法 3 forms组件之校验字段 1 前端 <!DOCTYPE html> <html lang="en"> &l ...
- http协议与html
目录 前端 HTTP协议 HTML简介 head内常见标签 body内基本标签 body内基本标签 特殊字符 布局标签(div.span) 图片标签(img) 超链接标签(a) 标签的两大重要参数(i ...
- veeambackup通过虚拟机还原系统文件操作说明
如何从 VeeamBackup Replication 从备份中提取文件恢复到本地.当我们的服务器中误操作删除了一些文件特别是共享文件,文件被删除后往往都是几个小时或者几天后才被发现.特别是文件服务器 ...
- GDKOI 2021 Day1 PJ 爆炸记
早上睡到 7:10 分才想起今天有 GDKOI ,赶紧去买了一个面包赶去机房 发现隔壁的大奆都过来了.比赛时由于昨晚一直没睡好,打了两个小时的哈欠 T1 :暴力模拟 根据 \(r\) 和 \(c\) ...
- Java 多线程共享模型之管程(下)
共享模型之管程 wait.notify wait.notify 原理 Owner 线程发现条件不满足,调用 wait 方法,即可进入 WaitSet 变为 WAITING 状态 BLOCKED 和 W ...
- ubuntu使用postfix和AWS-SES发送邮件
在日常开发中,邮件发送是个比较常见的场景.因此出现了很多相关的软件和服务,各大云厂商也推出自己的邮件服务.今天笔者就像大家介绍一种常见的组合,AWS的邮件服务 SES 与邮件服务器 postfix 的 ...