LOJ 架設電話線 二分 spfa

2022-09-17 10:33:14 字數 932 閱讀 7849

題面見鏈結。。。

題解:

一般來說看到這總 第 k 大的 都往二分想想。

這題其實蠻基礎的。

二分這第 k +1 大的邊的權值,然後整個圖的邊比它大的權值為 1 ,比他小的權值為 0 。 最後跑一遍 spfa 求出整個圖的最短路徑,如果 <= k 則成立,可繼續縮小範圍,否則則只能增加範圍。。。

**如下:

1 #include2

using

namespace

std;

3const

int n=4005;4

int n,p,k,x,y,z,nxt[n],to[n],hea[n],w[n],cnt=0;5

bool

vis[n];

6int

dis[n],q[n],h,t,ans;

7 inline void add(int x,int y,int

ww)8

11 inline bool check(int

mx)1228}

29}30if (dis[n]<=k) return

true; else

return

false;31

}32intmain()

3340

int l=0,r=1000000; ans=0x3f3f3f3f;41

while (l<=r)

4247

if (ans==0x3f3f3f3f) printf("

-1\n

"); else printf("

%d\n

",ans);

48return0;

49 }

view code

fighting fighting fighting

架設電話線 二分答案 SPFA

description farmer john打算將 線引到自己的農場,但電信公司並不打算為他提供免費服務。於是,fj必須為此向電信公司支付一定的費用。fj的農場周圍分布著n 1 n 1,000 根按1 n順次編號的廢棄的 線 杆,任意兩根 線桿間都沒有 線相連。一共p 1 p 10,000 對 線...

二分答案 spfa 架設電話線

架設 線 phoneline 題目描述 farmer john打算將 線引到自己的農場,但電信公司並不打算為他提供免費服務。於是,fj必須為此向電信公司支付一定的費用。fj的農場周圍分布著n 1 n 1,000 根按1.n順次編號的廢棄的 線桿,任意兩根 線桿間都沒有 線相連。一共p 1 p 10,...

架設電話線 題解

原題來自 usaco 2008 jan.silver 在郊區有 n 座通訊基站,p 條雙向電纜,第 i 條電纜連線基站 a i 和 b i 特別地,1 號基站是通訊公司的總站,n 號基站位於一座農場中。現在,農場主希望對通訊線路進行公升級,其中公升級第 i 條電纜需要花費 l i 公司正在舉行優惠活...