HDU 3549 最大流純模板

2021-07-29 08:54:38 字數 1309 閱讀 9916

題意:t組樣例,做點1–>n的最大流

規模:

(2 <= n <= 15, 0 <= m <= 1000)

(1 <= x, y <= n, 1 <= c <= 1000)

型別:最大流基礎,純模板

分析:第一次做網路流,在**裡加了許多注釋,邊學邊敲

時間複雜度&&優化:

樸素演算法o(fe); 。f為遍歷深度

dinic演算法o(ev*v);。這裡只寫了dinic。

**:

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int max_n = 20;

const

int max_m = 20005;

const

int inf = 1000000007;

const

int mod = 1000000007;

char s[20];

int n,m;

struct edge;

vector

g[max_n];///圖的鄰接表表示

int level[max_n];///定點到源點的距離標號

int iter[max_n];///當前弧,在其之前的邊已經沒用了

///向圖中增加一條從from到to的容量為cap的邊;

void add_edge(int from,int to,int cap) );

g[to].push_back((edge));///這個-1是減上面行**的干擾

}///通過bfs計算從源點出發的距離標號

void bfs(int s)}}

//for(int z=0;z}

///通過dfs尋找增廣路,,, 從v點傳送f的流量到t,返回最大可傳送量

int dfs(int v,int t,int f)}}

return0;}

///求解從s到t的最大流

long

long max_flow(int s,int t)

}}int main()

long

long k=max_flow(0,n-1);

printf("case %d: %i64d\n",z,k);

}return

0;}

hdu3549 最大流模板題

最大流dinic演算法,套模板1a include include include include define maxn 105 using namespace std int map maxn maxn 鄰接矩陣儲存圖 int dis maxn 距離源點的距離 int q maxn maxn f...

HDU3549最大流模板學習題

前幾天比賽發現自己的最大流最小割知識忘的一干二盡竟是一朝回到解放前,於是重新學習最大流。ek演算法,其實就是bfs求增廣路,增廣條件是向前的邊或是未滿的正向邊或是大於0的反向邊,這樣每次增廣必然可以讓t節點獲得值增加 include include include include include i...

HDU 3549 網路最大流再試

同樣的網路最大流 t了好幾次原因是用了cout,改成printf就a了 還有hdu oj的編譯器也不支援以下的寫法 g from push back edge g to push back edge include include include include include include de...