【最大流-ISAP】POJ-1273-网络流模板!!
来源:互联网 发布:滨州行知中学招生电话 编辑:程序博客网 时间:2024/06/05 13:52
POJ-1273:http://poj.org/problem?id=1273
网络最大流裸体
直接套ISAP模板,亲测好用
网络流太难,姑且直接贴模板吧
效率:0MS!
#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn = 210;const int maxm = 500;const int INF = 0x7FFFFFF;#define mem(name,value) memset((name),(value),sizeof(name))struct Side{int to,next,c;}side[maxm];int top,node[maxn];void add_side(int u,int v,int c,int rc){side[top]=(Side){v,node[u],c};node[u]=top++;side[top]=(Side){u,node[v],rc};node[v]=top++;}int start,end,cnt,dis[maxn],gap[maxn];int get_flow(int u,int flow){//printf("%d %d\n",u,flow);if(u==end)return flow;int ans=0;for(int i=node[u];i!=-1;i=side[i].next){int v=side[i].to,c=side[i].c;if(dis[u]>dis[v]&&c){int f=get_flow(v,min(flow-ans,c));ans+=f;side[i].c-=f;side[i^1].c+=f;if(ans==flow)return ans;}}if(!(--gap[dis[u]]))dis[start]=cnt+2;gap[++dis[u]]++;return ans;}int main(){ //freopen("input.txt","r",stdin);int n,m;while(~scanf("%d%d",&m,&n)){top=0;mem(node,-1);mem(gap,0);mem(dis,0);while(m--){int u,v,w;scanf("%d%d%d",&u,&v,&w);add_side(u,v,w,0);}int ans=0;start=1;end=n;cnt=n;gap[0]=cnt;while(dis[start]<cnt)ans+=get_flow(start,INF);printf("%d\n",ans);}return 0;}
0 0
- 【最大流-ISAP】POJ-1273-网络流模板!!
- POJ--1273--Drainage Ditches【Dinic模板】【isap模板】网络最大流
- isap算法模板poj 1273gap+弧优化 最大流
- POj 1273 Drainage Ditches (最大流 Dinic + ISAP 模板)
- 最大流ISAP模板
- 最大流 ISAP 模板
- 最大流ISAP模板
- 最大流ISAP模板
- 最大流 isap 模板
- 网络流ISAP模板
- 网络流ISAP模板
- ISAP 网络流模板
- 【模板】ISAP网络最大流 (模板题:洛谷P3376)
- 最大流ISAP算法模板
- 最大流模板(Dinic, ISAP)
- 最大流ISAP算法模板
- 网络流模板:最大流ISAP算法和Dinic算法
- 网络流模板:最大流ISAP算法和Dinic算法
- Apache Xerces2 Java
- leetcode 刷题之路 74 Construct Binary Tree from Preorder and Inorder Traversal
- java多线程和线程池
- C语言在32位和64位系统上各类型所占字节数
- java中遍历属性字段及值
- 【最大流-ISAP】POJ-1273-网络流模板!!
- mylinklist
- vim 命令大全
- 一步一步学android OpenGL ES2.0编程(1)
- 【划分树+二分】HDU 4417 Super Mario
- 神经网络简介(一)
- PHP 第三章
- Unity3D脚本:快速判断手势是上下左右
- 基于业务规则的客户风险评分 - Drools实现