這題可以作為網路流模板看,這裡貼一下自己的dinic模板
#include
#include
#include
#include
using
namespace
std;
const
int inf=0x3fffffff,n=400,m=500;
int d[n],head[m],e[m],next[m],ver[m];
int s,t,m,n,tot=1,maxflow=0;
void add (int u,int v,int w)
bool bfs ()
}return0;}
int dinic (int x,int f)
return f-rest;
}int main ()
while (bfs())
while (tmp=dinic(s,inf)) maxflow+=tmp;
printf("%d\n",maxflow);
}}
之前提到的有意思的性質:1、head陣列可以初始化成0而不是-1,敲**的時候感覺要舒服一些~
2、如果節點從1開始標號,那麼對於結點i,2*i就代表指向這個結點的正向邊。這個做法在 codehunter 舞動的夜晚 有體現
POJ 1273 模板網路流
drainage ditches 標準的是edmonds karp 最短增廣路演算法 網路流講解 include include include include include includeusing namespace std define rep i,a,b for int i a i b i...
POJ 1273 樸素的最大流
poj 1273 ditch mike w 2011 10 5 今天我才發現,我對殘餘網路理解有誤!include include include include ifndef true define true 1 endif define size 222 define qsize 2 size ...
poj 1273 最大流 EK演算法
最大流問題 從源點到終點運送貨物,經過一些中轉站,中轉站之間有路徑連線,每條路徑有運送貨物量的上限,求最多能運送多少貨物 找最大流就是每次找增廣路徑,並更新網路,直到找不到增廣路徑 includeusing namespace std const int max 201 const int inf ...