最大流模板

2022-05-09 15:28:18 字數 761 閱讀 1983

#include#include#include#includeusing namespace std;

#define maxn 444 //鄰接表要開邊數的2倍

struct edgeedge[maxn];

int level[maxn];//標記層次(距離標號)

//間隙優化,定義gap[i]為標號是i的點的個數

//在重標記i時,檢查gap[level[i]],若減為0,這演算法結束。

int gap[maxn];

int pre[maxn];//前驅

int cur[maxn];

int head[maxn];

int nv,ne;

//ne為邊數,初始化為0;

void insert(int u,int v,int cap,int cc=0)

//引數,源點,匯點

int sap(int vs,int vt)

}if((--gap[level[u]])==0)break;//更新gap陣列後如果出現斷層,則直接退出。

level[u]=minlevel+1;//重標號

gap[level[u]]++;//距離標號為level[u]的點的個數+1;

u=pre[u];//轉當前點的前驅節點繼續尋找可行弧

}return maxflow;

} int main()

printf("%d\n",sap(1,nv));

}return 0;

}

模板 網路最大流 最大流

給出乙個網路圖,以及其源點和匯點,求出其網路最大流。in put role presentation inp utin put4 5 4 3 4 2 30 4 3 20 2 3 20 2 1 30 1 3 40ou tput role presentation out puto utpu t50最大...

模板 網路最大流 最大流

給出乙個網路圖,以及其源點和匯點,求出其網路最大流。in put role presentation inp utin put4 5 4 3 4 2 30 4 3 20 2 3 20 2 1 30 1 3 40ou tput role presentation out puto utpu t50最大...

最大流模板

2015年1月30日更新 include include include include include include include include include include include include typedef unsigned int uint typedef long lo...