AC日記 城市 洛谷 P1401

2022-05-14 06:47:10 字數 1425 閱讀 2890

n(2<=n<=200)個城市,m(1<=m<=40000)條無向邊,你要找t(1<=t<=200)條從城市1到城市n的路,使得最長的邊的長度最小,邊不能重複用。

輸入格式:

第1行三個整數n,m,t用空格隔開。

第2行到p+1行,每行包括三個整數ai,bi,li表示城市ai到城市bi之間有一條長度為li的道路。

輸出格式:

輸出只有一行,包含乙個整數,即經過的這些道路中最長的路的最小長度。

輸入樣例#1:

7 9 2

1 2 2

2 3 5

3 7 5

1 4 1

4 3 1

4 5 7

5 7 1

1 6 3

6 7 3

輸出樣例#1:

5
思路:

網路流;

二分答案;

然後刪邊;

然後看最大流是否大於t;

來,上**:

#include #include 

#include

#include

#include

#define maxn 205

#define inf 0x7fffffff

using

namespace

std;

struct

edgetype ;

struct edgetype edge[maxn*maxn*4

];int

s,t,deep[maxn];

int n,m,t,cnt=1,head[maxn],maxl,minl=0x7fffffff

;char

cget;

inline

void

in(int &now)

}bool

bfs()}}

return

false;}

int flowing(int now,int

flow)

}if(oldflow==0) deep[now]=-1

;

return

oldflow;

}bool check(int

pos)

int ans=0

;

while

(bfs())

ans+=flowing(s,inf);

if(ans>=t) return

true

;

else

return

false;}

intmain()

int l=minl,r=maxl,ans,mid;

while(l<=r)

cout

}

洛谷P1401 城市

n 2 n 200 個城市,m 1 m 40000 條無向邊,你要找t 1 t 200 條從城市1到城市n的路,使得最長的邊的長度最小,邊不能重複用。輸入格式 第1行三個整數n,m,t用空格隔開。第2行到p 1行,每行包括三個整數ai,bi,li表示城市ai到城市bi之間有一條長度為li的道路。輸出...

AC日記 拍照 洛谷 P3410

小b有n個下屬,現小b要帶著一些下屬讓別人拍照。有m個人,每個人都願意付給小b一定錢讓n個人中的一些人進行合影。如果這一些人沒帶齊那麼就不能拍照,小b也不會得到錢。注意 帶下屬不是白帶的!對於每個下屬,如果他帶了那麼小b需要給他一些錢,保證當他拍照時配合。請問,小b的淨收益最多是多少。輸入格式 第1...

AC日記 奶牛集會 洛谷 P2345

奶牛集會 思路 把奶牛按照v排序 然後,每次都把奶牛放入乙個集合s 因為奶牛已經排序 所以,每次第i次放入奶牛起作用的v就是vi 每次ans xi sum sumxl vi sumxr xi sum vi 可以用線段樹實現 來,上 include include include include us...