Folyd 多源最短路

news2024/9/28 9:29:18

目录

简介

实现

代码

关于Floyd的题目


简介

首先我们要知道a到b的最短路是什么

a到b的最短路是从a点到b点的最小距离(花费)

那多源最短路呢就是能求任意a和b,之间的最短路

那么Folyd是多源最短路,也就是求任意a和b,之间的最短路


实现

首先介绍一种术语“松弛

松弛的意思么就是这个点的最短路被更新,可以被一个点更新,也可以被b连着的变更新(dijkstra和bellman-ford和spfa)

那么Floyd的思路是什么呢

  1. 选一个k
  2. 选一个a
  3. 选一个b
  4. 松弛  a->b

欸对了,有的小伙伴猜到了,三重循环!!! 简单吧

好到这里你应该知道代码怎么写了吧

还不会的小伙伴跟我来


代码

#include <iostream>
#include <cstring>

using namespace std;

const int N = 5e2 + 5;

int n, m;
int G[N][N]; //邻接矩阵

void Floyd() {
	for (int k = 1; k <= n; k ++)
		for (int a = 1; a <= n; a ++)
			for (int b = 1; b <= n; b ++)
				G[a][b] = min(G[a][b], G[a][k] + G[k][b]);
}

int main() {
	cin >> n >> m;
	memset(G, 0x3f, sizeof G);
	for (int i = 1; i <= m; i ++) {
		int a, b, c;
		cin >> a >> b >> c;
		G[a][b] = c; // a到b 距离为c
	}

	for (int i = 1; i <= n; i ++)
		G[i][i] = 0;//自己到自己为0

	Floyd();

//	for (int i = 1; i <= n; i ++) {
//		for (int j = 1; j <= n; j ++)
//			cout << G[i][j] << ' ';
//		cout << '\n';
//	}
	int a, b;
	cin >> a >> b;
	cout << G[a][b];
	return 0;
}

关于Floyd的题目

一本通1342

洛谷 模板

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/934063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

春秋云镜 CVE-2019-13275

春秋云镜 CVE-2019-13275 WordPress Plugin wp-statics SQLI 靶标介绍 WordPress VeronaLabs wp-statistics插件12.6.7之前版本中的v1/hit端点存在SQL注入漏洞。 启动场景 漏洞利用 exp time curl -X POST http://host/wp-json/wpstatistics/v1/hit --data "wp_stati…

SpringBoot权限认证

SpringBoot的安全 常用框架&#xff1a;Shrio,SpringSecurity 两个功能&#xff1a; Authentication 认证Authorization 授权 权限&#xff1a; 功能权限访问权限菜单权限 原来用拦截器、过滤器来做&#xff0c;代码较多。现在用框架。 SpringSecurity 只要引入就可以使…

mybatis:动态sql【2】+转义符+缓存

目录 一、动态sql 1.set、if 2.foreach 二、转义符 三、缓存cache 1. 一级缓存 2. 二级缓存 一、动态sql 1.set、if 在update语句中使用set标签&#xff0c;动态更新set后的sql语句&#xff0c;&#xff0c;if作为判断条件。 <update id"updateStuent" pa…

【C++】容器适配器stack、queue以及deque容器

&#x1f3d6;️作者&#xff1a;malloc不出对象 ⛺专栏&#xff1a;C的学习之路 &#x1f466;个人简介&#xff1a;一名双非本科院校大二在读的科班编程菜鸟&#xff0c;努力编程只为赶上各位大佬的步伐&#x1f648;&#x1f648; 目录 前言一、什么是容器适配器1.1 stack的…

开源软件的漏洞响应:应对安全威胁

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

岛屿数量00

题目链接 岛屿数量 题目描述 注意点 grid[i][j] 的值为 ‘0’ 或 ‘1’ 解答思路 使用广度优先遍历思想遍历整个岛屿遍历整个二维网络&#xff0c;如果此时位置处的值为1&#xff0c;则当前位置是一个岛的一部分&#xff0c;从该位置向着四个方向遍历出整个岛屿&#xff0…

【滑动窗口】leetcode3:无重复字符的最长子串

一.题目描述 无重复字符的最长子串 二.思路分析 题目要求我们找符合要求的最长子串&#xff0c;要求是不能包含重复字符 确定一个子串只需确定它的左右区间即可&#xff0c;于是我们可以两层循环暴力枚举所有的子串&#xff0c;找到符合要求的&#xff0c;并通过比较得到最长…

5G+智慧交通行业解决方案[46页PPT]

导读&#xff1a;原文《5G智慧交通行业解决方案[46页PPT]》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 喜欢文章&#xff0c;您可以点赞评论转发本文&#xff0c;…

基于Java+SpringBoot+Vue前后端分离贸易行业crm系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

小研究 - JVM 逃逸技术与 JRE 漏洞挖掘研究(七)

Java语言是最为流行的面向对象编程语言之一&#xff0c; Java运行时环境&#xff08;JRE&#xff09;拥有着非常大的用户群&#xff0c;其安全问题十分重要。近年来&#xff0c;由JRE漏洞引发的JVM逃逸攻击事件不断增多&#xff0c;对个人计算机安全造成了极大的威胁。研究JRE安…

小研究 - Java虚拟机内存管理分析

讨论了&#xff2a;&#xff41;&#xff56;&#xff41;关键技术组成&#xff0c;深入介绍了&#xff2a;&#xff41;&#xff56;&#xff41;虚拟机的体系结构&#xff0c;分析了虚拟机中内存管理的垃圾回收机制。同时&#xff0c;对现有的一些流行垃圾回收算法进行了深入…

5年经验之谈 —— APP和WEB的测试区别

在功能测试时&#xff0c;要考虑手机应用的特性&#xff1a; 1&#xff09;手机屏幕尺寸偏小&#xff0c;所以手机应用一般就占满了全屏&#xff0c;因此要考虑手机在前后端切换时被测试应用在资源使用时的优先级变化情况&#xff1b;还要考虑手机横竖屏切换时的测试 2&#xf…

yolov5中添加ShuffleAttention注意力机制

ShuffleAttention注意力机制简介 关于ShuffleAttention注意力机制的原理这里不再详细解释.论文参考如下链接here   yolov5中添加注意力机制 注意力机制分为接收通道数和不接受通道数两种。这次属于接受通道数注意力机制,这种注意力机制由于有通道数要求,所示我们添加的时候…

引导滤波(guided filter)与快速引导滤波(fast guided filter)理解

最近在学习图片的滤波和去噪的相关知识&#xff0c;查阅了一些资料参考了一些博客&#xff0c;这里做一个整合&#xff0b;理解。参考的博客资料在文末。 引入普通滤波的概念 假设输入图像为p&#xff0c;滤波窗口为wk,经过滤波后的输出图像为q,那么q图的第i个像素是由输入图p中…

Vue2向Vue3过度核心技术声明式导航

目录 1 声明式导航-导航链接1.需求2.解决方案3.通过router-link自带的两个样式进行高亮4.总结 2 声明式导航-两个类名1.router-link-active2.router-link-exact-active3.在地址栏中输入二级路由查看类名的添加4.总结 3 声明式导航-自定义类名1.问题2.解决方案3.代码演示4.总结 …

OpenSIPS 通话中 UPDATE 请求导致没有声音问题

文章目录 1. 问题现象2. 抓包排查3. 问题分析及解决方案 1. 问题现象 在 SIP 应用的开发中&#xff0c;通话一端听不到声音是比较常见的问题。一般来说&#xff0c;没有声音意味着 RTP 传输存在障碍&#xff0c;追根究底就是网络不通或者端口未开放等原因。但在实践中&#xf…

射频滤波器分析报告(声表面波滤波器/BAW/超声)

目录 一、射频芯片技术与产品概述二、5G时代滤波器需求潜力巨大三、全球滤波器市场现状3.1 基站3.2 手机端 四、射频芯片国内发展情况4.1 国内射频芯片概况4.2 国内射频滤波器发展情况4.3 BAW的重重困难4.4 终端厂商的参与 五 机会分析5.1 5G通信5.2 卫星通信5.3 雷达行业5.4 新…

Cinema 4D软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Cinema 4D&#xff08;简称C4D&#xff09;是由德国Maxon Computer公司开发的一款三维动画渲染和建模软件&#xff0c;广泛应用于影视、广告、工业设计等领域。C4D因其高效率、易用性和强大的功能而受到广大设计师和艺术家的青睐…

第四章文件管理

0.初识文件管理 一个文件有哪些属性?文件名:由创建文件的用户决定文件名&#xff0c;主要是为了方便用户找到文件&#xff0c;同一目录下不允许有重名文件。 标识符:一个系统内的各文件标识符唯一&#xff0c;对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一…

pandas-03-组合连接数据

采集的数据存储后通常会分为多个文件或数据库&#xff0c;如何将这些文件按需拼接&#xff0c;或按键进行连接十分重要。这节将介绍数据索引的复杂操作如分层索引&#xff0c;stack,unstack,seet_index,reset_index等帮助重构数据&#xff0c;数据的拼接如merge,join,concat,co…