在寫這篇文章之前,***已經寫過了幾篇關於改流量最小主題的文章,想要了解的朋友可以去翻一下之前的文章
題意:有n個都會,每乙個都會有定一數量的察警,有一群小偷,從都會s,到t,問起碼須要多少察警可以使小偷到不了t都會。
將每乙個都會的察警數量當作流量,那麼題問就轉化成求s - t的最小割。
將每乙個點拆成i , i + n ,流量是該點的值.然後跑一次最大流以可就了。
最大流最小割定理:恣意乙個流絡網的最大流量於等該絡網的最小的割的量容。
每日一道理
只有啟程,才會到達理想和目的地,只有拼搏,才會獲得輝煌的成功,只有播種,才會有收穫。只有追求,才會品味堂堂正正的人。
#include #include #include #include #include #include #include #include #include #include #include #include #define pi acos(-1.0)
#define max 2005
#define inf 1<<28
#define ll(x) (x<<1)
#define rr(x) (x<<1|1)
#define rep(i,s,t) for(int i=(s);i<=(t);++i)
#define ll long long
#define mem(a,b) memset(a,b,sizeof(a))
#define mp(a,b) make_pair(a,b)
using namespace std;
inline void readint(int &ret)
while(c < '0' || c > '9');
ret = c - '0';
while((c=getchar()) >= '0' && c <= '9')
ret = ret * 10 + ( c - '0' );
}int city[111] ;
struct kdq
ed[1111111] ;
int head[1111] ,num ;
void add(int s ,int e ,int l )
int deep[1111] ;
int qe[11111111] ;
void init()
int s , t ;
int dinic_bfs()}}
return deep[t] != -1 ;
}int dinic_dfs(int now, int f)
}if(!flow)deep[now] = -2 ;
return flow ;
}int dinic()
return flow ;
}int main()
add(s,s,inf) ;
add(h + n ,t,inf) ;
rep(i,1,m)
printf("%d\n",dinic()) ;
}return 0;
}
文章結束給大家分享下程式設計師的一些笑話語錄: 問路
有乙個駕駛熱氣球的人發現他迷路了。他降低了飛行的高度,並認出了地面 上的乙個人。他繼續下降高度並對著那個人大叫,「打擾一下,你能告訴我我 在哪嗎?」
下面那個人說:「是的。你在熱氣球裡啊,盤旋在 30 英呎的空中」。
熱氣球上的人說:「你一定是在 it 部門做技術工作」。
「沒錯」,地面上的人說到,「你是怎麼知道的?」
「呵呵」,熱氣球上的人說,「你告訴我的每件事在技術上都是對的,但對都沒 有用」。
地面上的人說,「你一定是管理層的人」。
「沒錯」,熱氣球上的人說,「可是你是怎麼知道的?」
「呵呵」,地面上的那人說到,「你不知道你在**,你也不知道你要去哪,你 總希望我能幫你。你現在和我們剛見面時還在原來那個地方,但現在卻是我 錯了」。
HDU3491最小割拆點
這道題就是乙個最小割,不過由於給出的是點的容量所以採用拆點連邊,這樣就把乙個點拆成連個點然後其邊容量為點容量。之後建圖的時候是雙向邊把拆出的點 i n 連到下個點就好,然後就是最大流。include include include include include using namespace st...
hdu3491最小割轉最大流 拆點
題意 求最小割,即求最大流即可。此題之關鍵為拆點 限制在點 每條邊都是雙向邊,注意一下。未1a原因 在拆點之後新增邊的過程中,要注意,出去的是i 進來的是i,所以,寫addegde函式時候 還是每次新增一單項邊就好,之後手動呼叫,可以注意出入之邊即可。簡單題。include 15ms include...
hdu 3491 Thieves 最小割拆點
題意 有n個城市和m條道路 雙向 一夥小偷準備從s城出發到h城盜竊,為了將這夥小偷抓住,需要在這n個城市中的每乙個城市安排一定數量的警察 每個城市警察的數量已經給出 但警察不希望在s城或h城遇到小偷.求解總共需要的最少警察數.由於每個城市頂點都具有權值,所以對於每個城市拆成兩個點u和所對應的u 之間...