PTA Dijkstra演算法(模板) 30分

2021-10-07 03:47:34 字數 1487 閱讀 1623

給乙個n(1 ≤ n ≤ 2500) 個點 m(1 ≤ m ≤ 6200) 條邊的無向圖,求 s 到 t 的最短路。

第一行四個由空格隔開的整數 n、m、s、t。

之後的 m 行,每行三個正整數 s​i​​ 、t​i​​ 、w​i​​ (1≤w​i​​ ≤10​9​​ ),表示一條從s​i​​ 到 t​i​​ 長度為 w​i​​ 的邊。

乙個整數,表示從s 到t 的最短路徑長度。資料保證至少存在一條道路。

7115

4242

1437

2234

3575

7336

1163

4243

5637

21

7
兩個頂點之間可能存在多條直接相連的道路。

頂點數與邊數在同一級別,用鄰接表儲存

}c++優先佇列的用法:

匈牙利演算法模板 KM演算法模板

匈牙利演算法模板 時間複雜度為o ve v為二分圖左邊的頂點數,e為二分圖中邊的數目 include includeconst int maxn 1010 const int maxm 20010 const int max 10001 const int inf 1000000000 int li...

演算法模板 KMP演算法

kmp演算法 由d.e.knuth,j.h.morris和v.r.pratt提出的,串匹配演算法,一般串都是指字串。kmp是基於雙指標演算法的 應用 乙個字串在另外乙個字串 現的位置和迴圈節 一般地,被匹配的字串叫主串,用來匹配主串的叫模式串 如果我們不用kmp,來查詢乙個字串在另外乙個字串中第一次...

演算法模板 KMP演算法

kmp演算法是一種改進的字串匹配演算法,由d.e.knuth,j.h.morris和v.r.pratt提出的,因此人們稱它為克努特 莫里斯 普拉特操作 簡稱kmp演算法 kmp演算法的核心是利用匹配失敗後的資訊,儘量減少模式串與主串的匹配次數以達到快速匹配的目的。具體實現就是通過乙個next 函式實...