对于floyed算法过程的理解
floyed应该是大家接触最短路首先了解到的算法简单的四行代码却能把所有点对之间的最短距离求出来相信很多人刚刚接触到这个算法时没有深刻理解算法的原理~~~我写这篇文章是源于南宁区域赛热身赛的一道题目由于对此算法理解不透彻比赛时候没有能将一道变形题做出来于是比赛结束后再次思考了这个算法得到了一些收获于是写下了这篇文章~~for(int k1;kn;k) for(int i1;in;i) for(int j1;jn;j) dp[i][j]min(dp[i][j],dp[i][k]dp[k][j]);主要的操作对点的松弛操作很容易理解给人咋一看的感觉就是对于每一个点对之间对于所有点都松弛一边但算法的正确性却并不是那么容易的证明~首先引入这样一种请况对于一张图已知原图中各个点对之间的最短距离现在加入一个新的点和与该图相连的若干边求加入之后新图各个点对之间的最短距离。首先对于新加的点我们可以在新图跑一边最短路求出该点到原集合中每一个点的最短距离在其逆图上跑一边最短路求出原集合中的每一个点到该点的最短距离~那么此点到原集合中每一个点之间的最短距离都是正确的但是对于原集合中的每一个点对之间的最短距离可能能通过松弛此点从而距离变短所以原集合中的每一个点对之间的距离还应该更新一遍。for(int i1;in;i) for(int j1;jn;j) dis[i][j]min(dis[i][j],dis1[i]dis2[j]); //dis1[u]表示u点到新加入点的最短距离,dis2[v]表示新加入点到v点的最短距离那么正题来了floyed是怎样维护每个点对之间的最短距离从而达到保证了算法的正确性呢我的理解是floyed是一个动态规划的过程通过维护一个逐渐增大的集合对任意点对 (i,j)dp[i][j] 是中间点只允许来自当前集合时的最短距离。随着集合的增长集合包含了原图中所有的点时算法就求出了每个点对之间的最短距离。对于算法过程的解释void floyed() { for(int k1;kn;k) { for(int i1;ik;i) for(int j1;jk;j) dp[i][j]min(dp[i][j],dp[i][k]dp[k][j]); //原集合中的每一个点可以通过此新加入的点松弛一遍 for(int i1;ik;i) for(int jk1;jn;j) dp[i][j]min(dp[i][j],dp[i][k]dp[k][j]); //原集合中的每一个点到集合外每一个点的临时最短距离 for(int ik1;in;i) for(int j1;jk;j) dp[i][j]min(dp[i][j],dp[i][k]dp[k][j]); //集合外的每一个点到原集合中的每一个点的临时最短距离 for(int ik1;in;i) for(int jk1;jn;j) dp[i][j]min(dp[i][j],dp[i][k]dp[k][j]); //按照算法定义集合外的点之间可以通过此点松弛距离 } }维护增长的集合是前k-1个点外层第k次循环的时候是将第k个点加入此集合中。此时dp[i][j]表示路径的中间点只来自原集合ij结点之间的临时最短距离(刚开始的时候集合为空那么表示直接相连)所以对于所有点对之间的临时最短距离都可以对此点松弛一遍从而保证了算法的正确性。第一次循环开始之间集合为空此时初始状态为原图中每个点对之间直接距离第k次循环能保证k1次循环时的正确性根据归纳法所以得证floyed算法的正确性~~~~~

相关新闻

【LeetCode】37.解数独

【LeetCode】37.解数独

欢迎来到李耶的频道【LeetCode面试题】。 解数独 37.解数独 题目 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫…

2026/10/1 11:24:42 阅读更多 →
企业自动化运营-电子合同预览-东方仙盟

企业自动化运营-电子合同预览-东方仙盟

代码<!DOCTYPE html> <html> <head><meta charset"utf-8"/><title>&#xff5c;软件服务协议电子确认单</title><meta name"viewport" content"initial-scale1, widthdevice-width, maximum-scale1, user-sca…

2026/9/29 18:12:09 阅读更多 →
从模拟世界到数字王国:单片机 ADC 完全指南

从模拟世界到数字王国:单片机 ADC 完全指南

一、ADC 的基本作用单片机的核心是数字电路&#xff0c;只能处理“0”和“1”。但现实中的物理量——比如温度、压力、电池电压、声音、光照强度——大多是连续变化的模拟量。传感器通常把这些物理量转换成电压信号&#xff0c;然后 ADC 再把电压转换成数字。举例&#xff1a; …

2026/9/29 20:06:19 阅读更多 →

最新新闻

Agent Skills 概览:用 SKILL.md 给 AI 智能体装上可复用技能包

Agent Skills 概览:用 SKILL.md 给 AI 智能体装上可复用技能包

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 20:23:42 阅读更多 →
AI 代码安全智能体到底该怎么选?——一份第三方测评机构的严格 PoC 对照实录

AI 代码安全智能体到底该怎么选?——一份第三方测评机构的严格 PoC 对照实录

引言&#xff1a;智能体元年&#xff0c;"能用"和"好用"是两回事2026 年&#xff0c;AI 代码安全智能体成为国内安全厂商的主战场。Claude Code Security、Codex Security 相继入局&#xff0c;国内各大安全厂商也密集发布了自己的代码安全智能体产品。然而…

2026/10/1 20:23:42 阅读更多 →
CSDN 自动给关键词加蓝色链接?我的排查与解决方法

CSDN 自动给关键词加蓝色链接?我的排查与解决方法

最近在 CSDN 发布文章时&#xff0c;我遇到一个比较奇怪的问题&#xff1a; 正文里一些原本只是普通文字的技术关键词&#xff0c;比如&#xff1a; 雷达Track坐标转换算法 在文章预览或者正式发布以后&#xff0c;会自动变成蓝色。 更麻烦的是&#xff0c;点击这些词以后&…

2026/10/1 20:23:42 阅读更多 →
PCB沉金厚度标准详解:IPC-4552金层镍层参数与工艺避坑指南

PCB沉金厚度标准详解:IPC-4552金层镍层参数与工艺避坑指南

做PCB这行&#xff0c;只要你在嘉立创下过单、或者跟板厂打过交道&#xff0c;“沉金”这两个字绝对不陌生。但真要说清“沉金厚度到底是多少算合格”&#xff0c;我敢说一大半工程师都只记得个模糊印象&#xff0c;真被问住了&#xff0c;才去翻文件。我之前就吃过这个亏&…

2026/10/1 20:23:42 阅读更多 →
ISCC 2023 pwn实战:动态容器与栈溢出利用经验

ISCC 2023 pwn实战:动态容器与栈溢出利用经验

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 20:23:42 阅读更多 →
四川桥梁伸缩缝靠谱厂家有哪些:正规源头实力盘点

四川桥梁伸缩缝靠谱厂家有哪些:正规源头实力盘点

在桥梁工程建设持续发展的背景下&#xff0c;伸缩缝作为保障桥梁结构自由变形与行车平顺的关键部件&#xff0c;其品质直接关系到桥梁的服役状态与运维成本。越来越多的工程采购方在搜索桥梁伸缩缝专业加工厂家桥梁伸缩缝优质厂家等词汇&#xff0c;希望找到行业知名的桥梁伸缩…

2026/10/1 20:22:41 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集&#xff1a;Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →