SPFA 重建道路(jzoj 1212)

2021-09-25 05:49:27 字數 1127 閱讀 5457

有乙個圖,其中的一些路壞了,為了從a走到b,問最少修復多長的路

3

21 2 1

2 3 2

11 2

1 3

1
2⩽n

⩽100

2\leqslant n\leqslant 100

2⩽n⩽100n−

1⩽d⩽

m⩽n∗

(n−1

)/

2n-1\leqslant d\leqslant m\leqslant n*(n-1)/2

n−1⩽d⩽

m⩽n∗

(n−1

)/21⩽x

,y⩽n

,x≠y

1\leqslant x,y\leqslant n,x\neq y

1⩽x,y⩽

n,x

​=y0

n<

1000< len <100

0n<10

0把壞掉的邊的權值保留,其他邊改為0,然後直接spfa跑一遍就可以了

#

include

#include

#include

#include

using

namespace std;

int n,m,k,x,y,z,h,tot,p[

150]

,b[150

],head[

150]

,pp[

150]

[150];

struct

reca[

20500];

void

spfa()

//spfa模板

} p[h]=0

;}printf

("%d"

,b[y]);

return;}

intmain()

scanf

("%d"

,&k)

;for

(int i=

1;i<=k;

++i)

spfa()

;return0;

}

1686 道路重建

時間限制 1 sec 記憶體限制 128 mb 提交 11 解決 7 提交 狀態 討論版 現在有一棵n個結點的樹 結點從1到n編號 請問至少要刪除幾條邊,才能得到乙個恰好有p個結點的子樹?第一行輸入兩個數n和p 1 n 150,1 p n 接下來輸入n 1行,每行兩個整數x y,表示x和y之間有一條...

洛谷 P3905 道路重建 spfa演算法 最短路

思路 1 開兩個vector 乙個邊的權值全部初始化為0,另乙個正常按題目邊的權值存 2 如果該路被破壞,那麼就把正常存的數值copy到要用的vector 中,即保證沒有被破壞的路的權值在計算的時候當作0來處理 3 跑spfa演算法 演算法 spfa include using namespace ...

通訊道路 spfa應用

在郊區有 n 座通訊基站,p 條 雙向 電纜,第 i 條電纜連線基站ai和bi。特別地,1 號基站是通訊公司的總站,n 號基站位於一座農場中。現在,農場主希望對通訊線路進行公升級,其中公升級第 i 條電纜需要花費li。公司正在舉行優惠活動。農產主可以指定一條從 1 號基站到 n 號基站的路徑,並指定...