/*
* dinic 模板
* * begin
*//* 需要的標頭檔案
#include #include #include using namespace std;
*/#define maxn 10000
// 結點最大數量
#define inf 0x7fffffff
typedef
struct
edge;
int nnode, nedge;
// 結點個數, 邊的個數
vector edges;
// 邊的陣列 (正向反向邊相鄰)
vector<
int> adj[maxn]
;// 鄰接表 (儲存的是邊的id)
int level[maxn]
;int src, dst;
// 源點, 匯點
intmin
(int a,
int b)
void
init()
// 新增邊
void
addedge
(int from,
int to,
int capacity));
edges.
push_back
((edge));
int sz = edges.
size()
; adj[from]
.push_back
(sz-2)
; adj[to]
.push_back
(sz-1)
;}bool
dinic_bfs()
}return level[dst]!=0
;}intdinic_dfs
(int node,
int flow)
return flow - temp;
}// 返回最大流
intdinic()
/* * end
*/
#include
#include
#include
#include
using
namespace std;
/* 此處貼上上述**
*/int
main()
printf
("%d\n"
,dinic()
);}
最大流dinic模板
運輸問題1 輸入檔案 maxflowa.in 輸出檔案 maxflowa.out 簡單對比 時間限制 1 s 記憶體限制 128 mb 問題描述 乙個工廠每天生產若干商品,需運輸到銷售部門進行銷售。從產地到銷地要經過某些城鎮,有不同的路線可以行走,每條兩城鎮間的公路都有一定的流量限制。請你計算,在不...
最大流 Dinic模板
date 2015 8 21 晚上 author itak motto 今日的我要超越昨日的我,明日的我要勝過今日的我 以創作出更好的 為目標,不斷地超越自己。include include using namespace std oo表示無窮大 const int oo 1e9 5 mm表示邊的最...
最大流模板(Dinic)
和最小費用流模板對比著看 最小費用流模板 貼上最大流模板 include includeusing namespace std const int oo 1e9 oo 表示無窮大 const int mm 111111111 mm 表示邊的最大數量,記住要是原圖的兩倍,在加邊的時候都是雙向的 con...