dijkstra堆優化 騎車比賽

2021-08-18 17:42:33 字數 968 閱讀 2417

第一行輸入兩個整數\n,m(\1≤n≤1,000,1≤m≤5,000),分別代表城市個數和道路總數。接下來輸入 m 行,每行輸入三個數字 a,b,c(1≤a,b≤n,1≤c≤200),分別代表道路的起點和道路的終點,以及蒜頭君騎車通過這條道路需要花費的時間。保證輸入的圖是連通的。 

輸出格式

輸出一行,輸出乙個整數,輸出蒜頭君完成比賽需要的最少時間。 

樣例輸入

5 6 

1 2 2 

2 3 3 

2 5 5 

3 4 2 

3 5 1 

4 5 1 

樣例輸出

6模板題。

**:

#include#includeusing namespace std;

const int max_n=10000;

const int max_m=100000;

const int inf=0x3f3f3f3f;

struct edge

e[max_n];

int p[max_n], eid; //「鏈式前向星」儲存的一些引數

int n; //有多少個結點

void mapinit()

void insert(int u,int v,int w)

void insert2(int u,int v,int w)

typedef pairpii;

set> min_heap;

int dist[max_n];

bool vst[max_n];

bool dijkstra(int s)

} } return true;

}int main()

//因為題意保證是連通的,所以dijkstra(1)返回的一定是true,反正能到終點的。

dijkstra(1);

cout

}

dijkstra和dijkstra堆優化模板

之前qaq一直沒有準備堆優化模板,本例以pat a1003為例,整理dijkstra和dijkstra堆優化模板 我們可以發現該篇幅找最小值部分是使用量乙個for迴圈 include include using namespace std int n,m,c1,c2 int edge 510 510...

題解 騎車比賽

描述 小信準備去參加騎車比賽,比賽在 n 個城市間進行,編號從 1 到 n。選手們都從城市 1 出發,終點在城市 n。已知城市間有 m 條道路,每條道路連線兩個城市,注意道路是雙向的。現在小信知道了他經過每條道路需要花費的時間,他想請你幫他計算一下,他這次比賽最少需要花多少時間完成。輸入第一行輸入兩...

dijkstra 堆優化 路徑

別人給的模板,所以不知道鏈結 include include include include include using namespace std define maxn 1020 define inf 0x3f typedef long long ll o nlogn typedef pair ...