POJ 3662 通訊線路

2022-05-31 02:57:19 字數 890 閱讀 3854

摘要:簡單來講就是在無向圖上求出一條從1到n的路徑,使路徑上第k+1大的邊權盡量小。

第k大的盡量小,這種表述就容易讓人想到二分。

那麼我們只要把權值大於mid的路徑權值設為1,小於mid的置為0,求1到n的最短路是否不超過n即可。

#include #include 

#include

#include

#include

#include

#pragma gcc optimize(2)

using

namespace

std;

typedef

long

long

ll;typedef pair

int>pii;

const

int n = 2e4 + 5, mod = 1e9 + 9, inf = 0x3f3f3f3f

;int

e[n], h[n], ne[n], w[n], d[n];

intn, p, k, idx, ans;

bool

vis[n];

priority_queue

< pii, vector, greater>q;

void

init()

void add(int a, int b, int

c) int dij(int

mid) }}

return

d[n];

}int

main()

if(dij(0) ==inf)

else

else

}cout

<< ans <}

}

AcWing 340 通訊線路

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

COGS T 7 通訊線路

輸入檔案 mcst.in輸出檔案 mcst.out簡單對比 時間限制 1.5 s 記憶體限制 128 mb 問題描述 假設要在n個城市之間建立通訊聯絡網,則連通n個城市只需要n 1條線路。這時,如何在最少經費的前提下建立這個通訊網。在每兩個城市之間都可以設定 條線路,相應地都要付出一定的經濟代價。n...

雙端佇列 二分 通訊線路

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