网络流之最大流 POJ 1273
来源:互联网 发布:java调用python程序 编辑:程序博客网 时间:2024/05/22 07:07
这个讲义不错:
http://wenku.baidu.com/link?url=cOZl5gOfcSd1OXDhQmM-je3MjGxFtSYyPCr1Rmsv-7SnIA7Dvftb7xmgfGPnfgIAl7x3O0CnSdy2bHuNUVwteQxFkfIUbRTbs8Yeq1d5_NG
代码:
#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>#define ll long long#define maxn 500#define maxm 500#define inf 2147483647using namespace std;inline void read(int &x){ char ch; bool flag=false; for (ch=getchar();!isdigit(ch);ch=getchar())if (ch=='-') flag=true; for (x=0;isdigit(ch);x=x*10+ch-'0',ch=getchar()); x=flag?-x:x;}inline void write(int x){ static const int maxlen=100; static char s[maxlen]; if (x<0){putchar('-'); x=-x;} if(!x){ putchar('0'); return; } int len=0; for(;x;x/=10) s[len++]=x % 10+'0'; for(int i=len-1;i>=0;--i) putchar(s[i]);}int deep[maxn],now[maxn];int v[maxm],st[maxm],ed[maxm],pre[maxm],tot;int ans,m,n;void build(int a,int b,int c){pre[++tot]=now[a];now[a]=tot;st[tot]=a;ed[tot]=b;v[tot]=c;}int d[maxn],t,w;bool bfs(){memset(deep,-1,sizeof(deep));d[1]=1;t=1;w=1;deep[1]=0;while (t<=w){int x=d[t];for (int p=now[x];p;p=pre[p])if (v[p])if (deep[ed[p]]<0){int y=ed[p];deep[y]=deep[x]+1;d[++w]=y;if (y==n) {/*for (int i=1;i<=n;i++)printf("%d ",deep[i]);puts("");*/return 1;}}t++;}return 0;}int dfs(int x,int Min){if (x==n) return Min;int ans=0;for (int p=now[x];p;p=pre[p]){if (v[p] && deep[ed[p]]>deep[x]){int tmp=dfs(ed[p],min(Min,v[p]));v[p]-=tmp; v[p^1]+=tmp;ans+=tmp; Min-=tmp;if (!Min) return ans;}}deep[x]=-1; return ans;}int main(){while (scanf("%d%d",&m,&n)!=EOF){tot=1;ans=0;memset(now,0,sizeof(now));for (int i=1;i<=m;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);build(a,b,c);build(b,a,0);}for (;bfs();ans+=dfs(1,inf));printf("%d\n",ans);}return 0;}
0 0
- 网络流之最大流 POJ 1273
- poj 1273 网络最大流
- POJ 1273Drainage Ditches(网络流之最大流)
- poj 1273 Drainage Ditches(网络流入门之最大流)
- POJ 1273 网络流最大流 题解
- poj 1273 Drainage Ditches 网络最大流
- POJ 1273 最水最水的网络最大流
- POJ 1273 Drainage Ditches (网络最大流)
- poj 1273 网络最大流(ek)
- 【POJ】1273 Drainage Ditches 网络最大流
- poj 网络最大流模板
- POJ 1459Power Network(网络流之最大流)
- POJ 3281Dining(网络流之最大流)
- POJ 1149PIGS(网络流之最大流)
- NYOJ 323 && HDU 1532 && POJ 1273 Drainage Ditches (网络流之最大流入门)
- POJ 1273 Drainage Ditches(网络流——最大流)
- poj 1273 Drainage Ditches(网络流最大流)
- POJ 1273 Drainage Ditches 网络流最大流
- python sort、sorted高级排序技巧
- C与C++ struct区别
- 尼姆博奕
- poj 2513 Colored Sticks
- java中类的权限
- 网络流之最大流 POJ 1273
- hdu5810——Balls and Boxes(数学推导)
- HDU 4778 Gems Fight!(博弈+状压)
- 【图形学与游戏编程】开发笔记-入门篇3:图形绘制
- deep features for text spotting 在windows上使用
- HDOJ 1789 Doing Homework again
- ListView的分页加载
- Java类
- Qt QToolTip详解