君 地下鉄旅行

2021-10-03 15:55:03 字數 1026 閱讀 7481

顯然我們可以記錄每個狀態前乙個狀態通過的鐵路。然後判斷這一次邊權值。

但是我們不能只用乙個狀態來記錄,因為可能兩個狀態的dis相等,但是具體用哪個點更新是不確定的。

所以我們需要用set去存一下。

ac**:

#pragma gcc optimize("-ofast","-funroll-all-loops")

#include

//#define int long long

using namespace std;

const

int inf=

0x3f3f3f3f

;const

int n=

1e5+

10,m=

1e6+10;

int n,m,d[n]

,vis[n]

;int head[n]

,nex[m]

,to[m]

,w[m]

,tot;

priority_queueint,

int>> q; set<

int> s[n]

;inline

void

ade(

int a,

int b,

int c)

inline

void

add(

int a,

int b,

int c)

void

dijkstra()

);while

(q.size()

)); s[to[i]].

clear()

; s[to[i]].

insert

(w[i]);

}else

if(d[to[i]

]==d[u]

+val) s[to[i]].

insert

(w[i]);

}}}signed

main()

西安 地下鉄

西安 地下鉄 3 去年 2016年11 月8 12 時 開通 時間 午前 午後 23 15 車 時間通 車 環境 西安 朝夕 厳重 多 會社人 學生 電車 毎日 通勤 通學 多 地下鉄 使 方法 便利 未來 數年 中 建造 楽 西安現在有 3條地鐵的線路,其中 3號線是去年 2016年11 月8日1...