模板 Dinic 最大流

2021-09-20 10:14:01 字數 1254 閱讀 1912

/* 

* 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...