P4779 模板 單源最短路徑(標準版)

2021-10-01 02:22:32 字數 1128 閱讀 7137

題目入口:

p4779 【模板】單源最短路徑(標準版)

使用【堆優化dijkstra求最短路】模版

//---------使用模版前言---------

//注意頂點數maxn的值 注意極大資料inf的值

#include

#include

#include

#include

#include

#include

#include

#define maxn 300010

//最大頂點數

#define inf 1e9+10

//極大資料

using namespace std;

typedef pair<

int,

int> info;

//存放當前點及從源點到當前點的最短路徑的資訊

priority_queue

, greater

> q;

//優先佇列實現將已確定最短路徑的點放入佇列 小頂堆實現堆優化

struct edge

//弧的初始化};

vector g[maxn]

;//存放當前點出發的每一條弧的資訊

int n, m, s;

//點 弧 源點

int dis[maxn]

;//從源點到當前點的最短路徑(迪傑斯特拉跑完之前不一定是最終解)

int vis[maxn]

;//該陣列用於標記當前點是否已訪問過 起到優化作用

void

dijkstra

(int s)}}

}int

main()

dijkstra

(s);

//演算法實施

for(

int i =

1; i < n; i++

)printf

("%d "

, dis[i]);

printf

("%d\n"

, dis[n]);

//規範輸出無多餘空格

//輸出從源點到其他所有點的最短路徑

return0;

}

P4779 模板 單源最短路徑(標準版)

最短路 堆優化 dijkstra 優先佇列 複雜度 o eloge 洛谷4779 題目描述 給定乙個 n 個點,m 條有向邊的帶非負權圖,請你計算從 s 出發,到每個點的距離。資料保證能從 s 出發到任意點 輸入4 6 1 1 2 2 2 3 2 2 4 1 1 3 5 3 4 3 1 4 4 輸出...

P4779 模板 單源最短路徑(標準版)

單源最短路徑模板題,沒什麼好說的。然而本題卡普通spfa.昨天某位同學給我說了堆優化spfa.於是就拿來寫這道題,a了 堆優化思想就是把dis小的放在前邊,也許和slf優化差不多?然而感覺上比slf快很多 include include include include includeusing na...

P4779 模板 單源最短路徑(標準版)

2018 年 7 月 19 日,某位同學在 noi day 1 t1 歸程 一題裡非常熟練地使用了乙個廣為人知的演算法求最短路。然後呢?100 rightarrow 60100 60 ag rightarrow cuag cu 最終,他因此沒能與理想的大學達成契約。小 f 衷心祝願大家不再重蹈覆轍。...