drainage ditches
標準的是edmonds-karp 最短增廣路演算法 +網路流講解
#include#include#include#include#include#includeusing namespace std;
#define rep(i,a,b) for(int i=a;i<=b;i++)
typedef long long ll;
const int inf=0x3f3f3f3f;
int pre[300];//先前節點
int book[300];//每次尋找標記
int e[300][300];//存放地圖
int n,m;
int getland()
q.push_back(i);}}
}if(!flag) return 0;//沒有能夠到達t的路徑
int k=inf;
int v=m;
int p;
while(pre[v]) p=pre[v] ,k=min(k,e[p][v]),v=pre[v];//找到當前路徑的最小值
v=m;
while(pre[v]) p=pre[v],e[p][v]-=k,e[v][p]+=k,v=pre[v];//建立反向路徑
return k;
}int main()
ll ans=0;
ll t;
while(t=getland())
ans+=t;
cout<}
}
POJ 1273 網路流 最大流 模板
這道題很值得反思,弄了一下午,交上去先是一直編譯錯誤,而在本地執行沒有問題,原因可能是oj的編譯器版本老舊不支援這樣的寫法 g from push back edge g to push back edge 這兩句交上去是不能通過的,不知道網上很多人這樣子貼出 是怎樣通過的 白書 的模板有問題的 如...
POJ1273 草地排水 dinic模板
這題可以作為網路流模板看,這裡貼一下自己的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 ...
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 ...