小木乃伊到我家(牛客競賽)(最短路模板題)

2022-09-09 10:03:10 字數 1307 閱讀 8574

題源

注意:

1.距離要初始化為inf

2.邊的儲存要弄清儲存的方式,以及各自代表的含義;

比如說pair儲存,first代表邊的指向的點,second代表邊的權值,而陣列的第一維代表邊的起點。

3.優先佇列儲存的資訊要清楚它的作用:

儲存距離:目的是對距離進行排序,每次取出距離最小的節點,功能只是對佇列的節點進行排序。

儲存節點:目的是為了取出最短距離的節點時,能夠獲得節點的編號。

所以在優先佇列裡面,儲存距離加了個負號,因為優先佇列優先對pair的第乙個元素進行降序排序,所以為了取出最小距離的節點,需要加個負號。

並且加了負號的距離並沒有對我們產生影響,我們需要的只是節點的編號。

#includeusing namespace std;

#define se second

#define fi first

typedef pairpii;

typedef long long ll;

const int n = 2e5+5;

const int inf = 0x3f3f3f3f;

vectore[n];

ll dis[n];

void dijkstra()

); while(!q.empty()));}

}}

}int main()

); e[b].push_back();

}dijkstra();

if(dis[n]!=inf) cout#define se second

#define fi first

typedef pairpii;

typedef long long ll;

const int n = 2e5+5;

const int inf = 0x3f3f3f3f;

vectore[n];

ll dis[n];

bool vis[n];

void spfa()}}

}}int main()

); e[b].push_back();

}spfa();

if(dis[n]!=inf) cout

return 0;

}

小木乃伊到我家(spfa演算法)

aa的歐尼醬qwb是個考古學家,有一天qwb發現了只白白圓圓小小的木乃伊,它是個愛哭鬼卻很努力。qwb想把這麼可愛的小木乃伊送給 aa,於是便找上了快遞姐姐,這下可讓快遞姐姐犯愁了,因為去往aa家的路實在太難走了 甚至有可能沒有路能走到aa家 快遞姐姐 找上聰明的acmer,想請你幫忙找出最快到達a...

牛客14369之最短路(SPFA模板)

簡單暴力的題目要求 給定乙個有n個頂點 從1到n編號 m條邊的有向圖 其中某些邊權可能為 負,但保證沒有負環 請你計算從1號點到其他點的最短路。第一行兩個整數n,m。接下來的m行,每行有三個整數u,v,l,表示u到v有一條長度為l的邊。共n 1行,第i行表示1號點到i 1號點的最短路。3 3 1 2...

牛客競賽 小A的位運算(思維)

題目描述 位運算是乙個非常重要的東西。而小a最近在學習位運算,小a看到了一道很簡單的例題,是說從n個數裡面選出n 1個數要讓它們或起來的值最大,小a想知道這個答案是多少。你可以幫幫他嗎?輸入描述 第一行乙個整數n表示有n個數接下來一行n個數表示a1,a2 an 輸出描述 一行輸出個結果代表最大值 輸...