多元最短路(Floyd)

是一個基于動態規劃的全源最短路算法。它可以高效地求出圖上任意兩點之間的最短路

時間復雜度 O(n^3)

狀態轉移方程

f[i][j]=min(f[i][j],f[i][k]+f[k][j])

核心代碼?

void floyd(){for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)s[i][j]=min(s[i][j],s[i][k]+s[k][j]);
}
k就是一個中間值,每次把從i到j的距離與從i到k再從k到j的距離進行比較,選取最小值,做答案

?例如k等于1的時候可以更新4,2這個點k等于2的時候可以更新3,1這個點。。。。。。

例題B3647 【模板】Floyd 算法

給出一張由?n?個點?m?條邊組成的無向圖。

求出所有點對?(i,j)?之間的最短路徑。

輸入格式

第一行為兩個整數?n,m,分別代表點的個數和邊的條數。

接下來?m?行,每行三個整數?u,v,w,代表?u,v?之間存在一條邊權為?w?的邊。

輸出格式

輸出?n?行每行?n?個整數。

第?i?行的第?j?個整數代表從?i?到?j?的最短路徑。

輸入輸出樣例

輸入?

4 4
1 2 1
2 3 1
3 4 1
4 1 1

輸出?

0 1 2 1
1 0 1 2
2 1 0 1
1 2 1 0

說明/提示

對于?100%?的數據n≤100,m≤4500,任意一條邊的權值?w?是正整數且?1?w?1000。

#include<iostream>
using namespace std;
const int N=1e4,INF=1e9;
int s[N][N];     //用于存圖
int n,m,q;void floyd(){for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)s[i][j]=min(s[i][j],s[i][k]+s[k][j]);
}int main(){cin>>n>>m;//初始化for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)  if(i==j)s[i][j]==0;else s[i][j]=INF;     //s[i][j]代表從i到j的最短距離//把給的邊存入while(m--){int a,b,c;cin>>a>>b>>c;s[a][b]=min(s[a][b],c);s[b][a]=min(s[b][a],c);    //可能給重復的值,取最小的那一個存入 } floyd();for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)cout<<s[i][j]<<" ";cout<<endl;}return 0;
} 

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35823.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35823.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35823.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue前端 更具router.js 中的meta的roles實現路由衛士,實現權限判斷。

參考了之篇文章 1、我在登陸時獲取到登錄用戶的角色名roles&#xff0c;并存入sessionStorage中&#xff0c;具體是在login頁面實現&#xff0c;還是在menu頁面實現都可以。在menu頁面實現&#xff0c;可以顯得登陸快一些。 2、編寫router.js&#xff0c;注意&#xff0c;一個…

Spring 事務詳解

目錄 一、概述二、事務的特性&#xff08;ACID&#xff09;三、Spring 的事務管理3.1 編程式事務管理3.2 編程式事務管理 四、Spring 事務管理接口及其定義的屬性4.1 PlatformTransactionManager:事務管理接口4.2 TransactionDefinition:事務屬性4.3 TransactionStatus:事務狀態…

【基礎類】—前后端通信類系統性學習

一、什么是同源策略及限制 同源策略限制從一個源加載的文檔或腳本如何與來自另一個源的資源進行交互。這是一個用于隔離潛在惡意文件的關鍵的安全機制。源&#xff1a;協議、域名和端口&#xff0c; 默認端口是80 三者有一個不同&#xff0c;即源不同&#xff0c;就是跨域 ht…

Stable Diffusion+Temporal-kit 半虛半實應用

1.先下載temporal-kit,重啟webui 2.下載好ffmpeg,配置好環境,下載Ebsynth 3.準備好你需要的視頻,拖到預處理視頻位置 4.填寫參數,點解保存設置,然后并點擊生成,會生成到目標文件夾的input位置 5.然后拉出input文件夾里面你想切換成處理的幀圖片,然后填寫prompt查看效…

中國省級、城市-數字經濟創新創業、分項指數(2010-2020年)

一、數據介紹 數據名稱&#xff1a;中國省級、城市-數字經濟創新創業、分項指數 數據年份&#xff1a;2010-2020年 數據范圍&#xff1a;31省、336個城市 數據來源&#xff1a;北大企業大數據研究中心 二、參考文獻 參考文獻&#xff1a; 戴若塵,王艾昭,陳斌開.中國數字…

Win10使用Guest和空密碼訪問共享的完整步驟

目錄 前言 啟動Guest 給予Guest網絡權限 允許空密碼登陸 啟用不安全的來并登陸 總結 前言 我們經常需要使用空密碼和guest賬戶訪問Windows共享&#xff0c;因為某些設備不支持輸入密碼等&#xff0c;那么該如何設置呢&#xff0c;因為步驟比較固定而且繁瑣&#xff0c;于…

Python小白入門:文件、異常處理和json格式存儲數據

這里寫自定義目錄標題 所用資料 一、從文件中讀取數據1.1 讀取整個文件1.2 文件路徑1.3 逐行讀取1.4 創建一個包含文件各行內容的列表1.5 使用文件的內容1.6 包含一百萬位的大型文件1.7 圓周率值中包含你的生日嗎練習題 二、寫入文件2.1 寫入空文件2.2 寫入多行2.3 附加到文件練…

Maven 生成(打包)帶有依賴的可以直接執行的一個 jar 包

在pom中增加如下內容 <build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><archive><manifest><mainClass>com.example.xxx.YourClass</mainClass></manifest></…

酷開系統丨酷開會員,帶你解鎖K歌新姿勢

不管時代怎么變化&#xff0c;K歌這項娛樂活動始終深受人們的喜愛。不知道你有沒有遇到過這種情況&#xff1a;周末在家宅了一天&#xff0c;突然心血來潮想去KTV唱歌&#xff0c;但奈何外面過于悶熱實在不想出門&#xff0c;可在手機上唱歌又不過癮&#xff0c;讓人很是苦惱……

tomcat入門介紹

tomcat官網下載8.5.9版本&#xff0c;官網地址&#xff1a;https://tomcat.apache.org/download-80.cgi 下載完成后直接解壓即可 tomcat目錄 解壓后&#xff0c;可以看到tomcat有以下目錄 /bin - 啟動、關閉和其他腳本 *.sh后綴是linux下的腳本文件*.bat后綴windows系統下的…

繪畫AI工具的介紹與使用----強到離譜-2023年必備免費好用的AI工具

一.繪畫AI www.seaart.ai 這個是網站地址&#xff0c;進去之后直接注冊登錄即可&#xff0c;幾乎都是免費使用&#xff0c;不用擔心是否要VIP 點擊網站進入之后登錄&#xff0c;然后進入主頁面&#xff0c;一張圖片給你介紹清楚主頁 我會根據菜單欄來給大家演示&#xff0c;首…

web會話跟蹤以及JWT響應攔截機制

目錄 JWT 會話跟蹤 token 響應攔截器 http是無狀態的&#xff0c;登錄成功后&#xff0c;客戶端就與服務器斷開連接&#xff0c;之后再向后端發送請求時&#xff0c;后端需要知道前端是哪個用戶在進行操作。 JWT Json web token (JWT), 是為了在網絡應用環境間傳遞聲明而…

Unity特效總覽

一、粒子 Unity中的粒子組件叫做Particle System。 粒子系統顧名思義&#xff0c;與“微粒”有關。粒子系統會生成和發射很多粒子&#xff0c;通過控制粒子的生成數量、大小、角度、速度、貼圖和顏色等眾多屬性&#xff0c;可以實現或真實或炫酷的各種效果。其中&#xff0c;…

leetcode做題筆記76最小覆蓋子串

給你一個字符串 s 、一個字符串 t 。返回 s 中涵蓋 t 所有字符的最小子串。如果 s 中不存在涵蓋 t 所有字符的子串&#xff0c;則返回空字符串 "" 。 注意&#xff1a; 對于 t 中重復字符&#xff0c;我們尋找的子字符串中該字符數量必須不少于 t 中該字符數量。如果…

【Unity】VS Code 沒有智能提示 Unity 中的類

正常來說&#xff0c;VS Code中會對部分輸入類名進行提示&#xff0c;如下圖所述 假如你從Unity 中進入 VS Code后發現沒有提示相關 Unity的類&#xff0c;可能是 Unity 中 有關于 VS Code的相關Package 沒有跟著 VS Code升級到最新版本。 點擊Unity Windows 下拉框中的 Pac…

如何在電力行業運用IPD?

電力行業是國民經濟眾多壟斷行業中較早實施改革的行業之一。近幾年我國電力行業保持著較快的發展速度&#xff0c;也取得了很大的成績&#xff0c;發電機容量和發電量居世界首位。2015-2020年&#xff0c;全國發電量不斷攀升。 電力是以電能作為動力的能源。電力的發現和應用掀…

簡繪ChatGPT支持Midjourney繪圖 支持stable diffusion繪圖

簡繪支持Midjourney繪圖和stable diffusion繪圖。 這意味著簡繪具備Midjourney繪圖和stable diffusion繪圖功能的支持。

生信豆芽菜-單基因表達比較

網址&#xff1a;http://www.sxdyc.com/panCancerExpCom 該工具主要用于查看單基因在泛癌的癌組織和癌旁組織中表達比較&#xff0c;可以只選擇TCGA數據庫&#xff0c;也可以選擇TCGAGTEx數據庫&#xff08;GTEx數據庫&#xff0c;存放了正常組織全基因的表達譜&#xff09; …

人類智能的三個基本要素

人類智能的三個基本要素包括&#xff1a;適應性、靈活性和從稀疏觀察中做出一般推斷的能力。這些要素使得智能系統能夠適應不同的環境和任務&#xff0c;處理多樣性和復雜性&#xff0c;并從有限的信息中進行學習和推理&#xff0c;對于構建更強大和智能的人工智能系統至關重要…

ERROR: While executing gem ... (Gem::FilePermissionError)

sudo gem install -n /usr/local/bin cocoapodsERROR: While executing gem ... (Gem::FilePermissionError)You dont have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.解決辦法&#xff1a; 1.刪…