洛谷3371 spfa模板題

2022-04-14 18:26:57 字數 1157 閱讀 9526

如題,給出乙個有向圖,請輸出從某一點出發到所有點的最短路徑長度。

輸入格式:

第一行包含三個整數n、m、s,分別表示點的個數、有向邊的個數、出發點的編號。

接下來m行每行包含三個整數fi、gi、wi,分別表示第i條有向邊的出發點、目標點和長度。

輸出格式:

一行,包含n個用空格分隔的整數,其中第i個整數表示從點s出發到點i的最短路徑長度(若s=i則最短路徑長度為0,若從點s無法到達點i,則最短路徑長度為2147483647)

輸入樣例#1: 複製

4 6 1

1 2 2

2 3 2

2 4 1

1 3 5

3 4 3

1 4 4

輸出樣例#1: 複製

0 2 4 3
時空限制:1000ms,128m

資料規模:

對於20%的資料:n<=5,m<=15

對於40%的資料:n<=100,m<=10000

對於70%的資料:n<=1000,m<=100000

對於100%的資料:n<=10000,m<=500000

樣例說明:

最短路(SPFA演算法)模板題 洛谷P3371

spfa演算法是寬搜優化版bellman ford演算法。這是一種基於鬆弛 relax 操作的最短路演算法。支援負權。能找到某個結點出發到所有結點的最短路,或者報告某些最短路不存在。演算法區別於bellman ford的核心思想就是 只有當某個頂點u的d u 發生改變時,它的鄰接點v的d v 才可能...

spfa演算法(洛谷模板題)

一 概況 spfa演算法是常用的最短路演算法之一,複雜度還是非常可觀的。但缺點在於遇到稠密圖或者某些奇特的圖時可能會變慢。spfa演算法是一種單元演算法,選擇乙個出發點,計算它與其他點的最短距離。通過更新邊來不斷更新最短路。在圖論的最短路題中應用十分廣泛。二 過程 1.初始化每個節點到第乙個點的距離...

洛谷 P3371 模板 單源最短路徑

題目大意 在乙個有向圖中,有m條邊 1 m 500000 n個點 1 n 10000 求點s到1 n個點的最短路徑長度,無最短路就輸出maxlongint。spfa 佇列優化 dis i 表示點s到i的最短路徑,一開始dis陣列為maxlongint。1.用佇列優化,就可以省略列舉每個點的時間,由o...