第二週 3 3最短路

2021-09-12 17:16:50 字數 882 閱讀 2415

時間限制:4 sec

空間限制:256 mb

給定一張 n 個點的無向帶權圖,節點的編號從 1 至 n,求從 s 到 t 的最短路徑長度。

第一行 4 個數 n,m,s, t,分別表示點數、邊數、起點、終點。

接下來 m 行,每行 3 個正整數 u,v,w,描述一條 u 到 v 的雙向邊,邊權為 w。

保證 1<=u,v<=n。

輸出一行乙個整數,表示 s 到 t 的最短路。

7 11 5 4

2 4 2

1 4 3

7 2 2

3 4 3

5 7 5

7 3 3

6 1 1

6 3 4

2 4 3

5 6 3

7 2 1

7

本題共設定 12 個測試點。

對於前 10 個測試點,保證 n<=2500,m<=6200,對於每條邊有 w<=1000。這部分資料有梯度。

對於所有的 12 個測試點,保證 n<=100,000,m<=250,000。

[本題是 dijkstra 演算法的模板練習題。]

[使用樸素的 dijkstra 演算法可以通過前 10 個測試點。]

[使用堆或__std::priority_queue__優化的 dijkstra 演算法可以通過所有測試點。]

另外,為了幫助大家完成題目,我們提供了只包含了輸入輸出功能的程式模板,也提供了含有演算法的大部分實現細節的程式。

你可以根據自己的實際情況,在這些程式的基礎上進行作答,或不參考這些程式,這將與你的得分無關。

這些程式可以從【這裡

第二週下 最短路

e題 candies poj 3159 n個人,m條規則 b比a多c個糖,問n比1多幾個 不知道為什麼佇列過不去,include include include include include using namespace std define n 30005 int dis n book n c...

二維最短路

三元組用map int,int set 儲存 可以通過前繼pre和當前節點u找到下乙個v,使得 pre,u,v 在三元組中的節點 include include include include include include include include include define mem a,...

Fishmonger SPOJ 二維最短路

乙個圖中,對於每一條邊有兩個權值 路費和時間,我們要找一條從源點出發到終點的路,在這條路的時間不超過給定時間的基礎上,找到路費最少的路。如果按照普通的最短路,會因為有乙個時間的限制而找不到正確的解。找不到正確的解的原因就是對於每個點只能存乙個時間,然而我們可能在多個不同時間到達乙個點,不一定哪個時間...