poj2135 最小费用最大流
来源:互联网 发布:seo如何做外链 编辑:程序博客网 时间:2024/04/30 02:50
ek算法
无向图用邻接表加两条边,(u,v)和(v,u);
加源点(s,1)cap=2;
加(n,t)cap=2;
#include<iostream>#include<iterator>#include<vector>#include<limits.h>#include<string.h>#include<stdio.h>#include<queue>#define MAX 1010using namespace std;struct node{int x;int y;int cap;int cost;int next;}map[MAX*MAX];int h[MAX];int mapnow=0;void init(){memset(h,-1,sizeof(h));mapnow=2;}void additem(int u,int v ,int c,int d){map[mapnow].x=u;map[mapnow].y=v;map[mapnow].cost=c;map[mapnow].cap=d;map[mapnow].next=h[u];h[u]=mapnow++;map[mapnow].x=v;map[mapnow].y=u;map[mapnow].cost=-c;map[mapnow].cap=0;map[mapnow].next=h[v];h[v]=mapnow++;}int ek(int s,int t){queue<int>q;int pre[MAX],re[MAX];bool visit[MAX];int dist[MAX];int tot=0;int i,j,u,v,inm;while(1){for(i=s;i<=t;i++){dist[i]=INT_MAX;}dist[s]=0;memset(visit,0,sizeof(visit));visit[s]=true;q.push(s);while(!q.empty()){u=q.front();q.pop();visit[u]=false;inm=h[u];while(inm!=-1){v=map[inm].y;if(map[inm].cap>0&&dist[v]>dist[u]+map[inm].cost){dist[v]=dist[u]+map[inm].cost;pre[v]=u;re[v]=inm;if(!visit[v]){q.push(v);visit[v]=true;}}inm=map[inm].next;}}if(dist[t]==INT_MAX)break;int a=INT_MAX;for(u=t;u!=s;u=pre[u])if(a>map[re[u]].cap) a=map[re[u]].cap;for(u=t;u!=s;u=pre[u]){map[re[u]].cap-=a;map[re[u]^1].cap+=a;}tot+=a*dist[t];}return tot;}int main(){int m,n;int i,u,v,c;while(scanf("%d%d",&n,&m)!=EOF){init();for(i=0;i<m;i++){scanf("%d%d%d",&u,&v,&c);additem(u,v,c,1);additem(v,u,c,1);}additem(0,1,0,2);additem(n,n+1,0,2);printf("%d\n",ek(0,n+1));}}
- poj2135(最小费用最大流)
- poj2135 最小费用最大流
- POJ2135 最小费用最大流
- 最小费用最大流--poj2135
- 【POJ2135】Farm Tour 最小费用最大流
- POJ2135(最小费用最大流)
- poj2135 Farm Tour 最小费用最大流
- POJ2135 Farm Tour 【最小费用最大流】
- poj2135 最小费用最大流模板
- poj2135(*最小费用最大流)
- POJ2135 Farm Tour(最小费用最大流)
- 最小费用最大流模板 POJ2135
- POJ2135--Farm Tour(最小费用最大流)
- 【POJ2135】Farm Tour(最小费用最大流)
- POJ2135 Farm Tour —— 最小费用最大流
- Poj2135 Farm Tour (最小费用流)
- Poj2135 Farm Tour 最小费用流
- poj2135(简单的最小费用流问题)
- java 泛型限定(下限)
- Sybase封锁原理(死锁)
- 使用Zipalign工具优化Android APK应用
- 各种流行的编程风格(转)
- pure-ftp的相关命令
- poj2135 最小费用最大流
- POJ 1318 Word Amalgamation
- C++复制
- 持续更新 iText in Action 2nd Edition中文版 个人翻译
- java事件机制
- Node.js开发指南之一:基本概念与开发环境的配置
- lucene 构建索引
- java中类加载路径和项目根路径获取的几种方式
- Eclipse插件spket安装