【最大流问题 dinic算法】Internet Bandwidth, ACM/ICPC World Finals 2000, UVa820
来源:互联网 发布:树莓派网络设置 编辑:程序博客网 时间:2024/06/06 12:45
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<queue>using namespace std;int n,s,t,m;const int MAXM = 160000; const int MAXN = 400; const int INF = 0x3f3f3f3f; struct edge{int to,cap,next;}e[MAXM];int head[MAXN],level[MAXN];int eid;void adde(int u,int v,int c){e[eid].to=v;e[eid].cap=c;e[eid].next=head[u];head[u] = eid++;}int bfs(){memset(level,-1,sizeof(level));queue<int> q;level[s] = 0;q.push(s);while(!q.empty()){int u = q.front();q.pop();for(int i=head[u];~i;i=e[i].next){int v = e[i].to;if(e[i].cap>0&&level[v]==-1){level[v] = level[u]+1;q.push(v);}}}return level[t]!=-1;}int dfs(int u,int f){if(u == t)return f;int tmp;for(int i=head[u];~i;i=e[i].next){int v = e[i].to;if(e[i].cap>0&&level[v]==level[u]+1){tmp = dfs(v,min(f,e[i].cap));if(tmp>0){e[i].cap -= tmp;e[i^1].cap += tmp;return tmp;}}}level[u] = -1;return 0;}int Dinic(){int ans = 0,tmp;while(bfs())while((tmp = dfs(s,INF))>0)ans +=tmp;return ans;}int main(void){int a,b,c;int kase = 0;while(scanf("%d",&n),n){memset(head,-1,sizeof(head));scanf("%d%d%d",&s,&t,&m);for(int i=1;i<=m;i++){scanf("%d%d%d",&a,&b,&c);adde(a,b,c);adde(b,a,c);}printf( "Network %d\nThe bandwidth is %d.\n\n",++kase, Dinic() );}return 0;}
朴素的EK增广路要TLE。
SAP、Dinic可过。
1 0
- 【最大流问题 dinic算法】Internet Bandwidth, ACM/ICPC World Finals 2000, UVa820
- [最大流]UVa820 - Internet Bandwidth
- Uva820 Internet Bandwidth(网络流、双向EdmondsKarp)
- [uva820] Internet Bandwidth
- ACM-ICPC World Finals 2017
- ACM-ICPC 2013 World Finals 简单题解
- Puzzle, ACM/ICPC World Finals 1993, UVa227
- ACM/ICPC World Finals 2013 D Factors
- ACM/ICPC World Finals 2010 D Castles
- Puzzle,ACM/ICPC World Finals 1993,UVa227
- Gym 101205 (ACM-ICPC World Finals 2012)
- Puzzle,ACM/ICPC World Finals 1993, UVa227
- Sqaures, ACM/ICPC World Finals 1990, UVa
- 解题报告 之 UVA820 Internet Bandwidth
- 2017 ACM/ICPC Asia Regional Qingdao Online 1009(最大流Dinic算法)
- ACM->最大流的dinic递归算法
- Abbott的复仇(Abbott's Revenge, ACM/ICPC World Finals 2000, UVa 816)<经典BFS>
- UVa816 例题 6-14 Abbott的复仇 (Abbott's Revenge,ACM/ICPC World Finals 2000)
- 最近计划
- nginx服务启动
- CLog做了些许改进
- jsp的EL表达式
- Hibernate DAO层 的BaseDao泛型写法
- 【最大流问题 dinic算法】Internet Bandwidth, ACM/ICPC World Finals 2000, UVa820
- 简单密码
- 自学编程需要注意的问题
- 十三章 上机题 出拳
- const 混淆
- 一幅图弄清DFT与DTFT,DFS的关系
- 快速开发之统一界面管理类
- HDU 4417 Super Mario 划分树+二分
- nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 错误解决