HDU 4280 Island Transport (网络流)
来源:互联网 发布:unity3d 离线下载 编辑:程序博客网 时间:2024/05/19 23:53
题目大意:给定n个点的坐标,m个的点之间关系,即游客从i到j之间的流量。问从最西边到最东边能够运输的客人流量的最大值(/每小时)。
思路:直接见图找到源汇点跑最大流。
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <queue>#define inf 0x3f3f3f3fusing namespace std;struct nod{ int x,y;}qq[100100];struct node{ int to,next; int w;}q[100100*4];int head[100100],cnt;bool vis[100100];int st,ed;void add(int a,int b,int c){ q[cnt].to = b; q[cnt].w = c; q[cnt].next=head[a]; head[a] = cnt++; q[cnt].to = a; q[cnt].w = c; q[cnt].next=head[b]; head[b] = cnt++;}int l[100100];bool bfs(){ memset(l,-1,sizeof(l) ); l[st]=0; queue<int>Q; Q.push(st); while(!Q.empty()){ int u=Q.front(); Q.pop(); for(int i = head[u]; ~i ;i=q[i].next){ int v=q[i].to; if(q[i].w > 0&&l[v]==-1){ l[v] = l[u] + 1; Q.push(v); } } } return l[ed]!=-1;}int dfs(int x,int f){ if(x == ed || !f){ return f; } int a,tmp=0; for(int i=head[x] ;~i; i=q[i].next){ int v = q[i].to; if(q[i].w > 0 && l[x]+1==l[v]){ a = dfs(v,min(q[i].w,f-tmp)); if(a > 0){ q[i].w -= a; q[i^1].w += a; tmp += a; if(tmp ==f ) break; } } } if(!tmp) l[x] =-1; return tmp;}int main(){ int n,m,i,j,k,cla; scanf("%d",&cla); while(cla--){ scanf("%d%d",&n,&m); memset(head,-1,sizeof(head)); memset(vis,false,sizeof(vis)); int l=inf,r=-inf; cnt=0; for(i = 1;i <= n;++ i ){ scanf("%d%d",&qq[i].x,&qq[i].y); if(l > qq[i].x){ st = i; l = qq[i].x; } else if( l == qq[i].x){ if(qq[l].y > qq[i].y){ l=i; } } if(r < qq[i].x ){ ed = i; r = qq[i].x; } else if(r == qq[i].x){ if(qq[r].y < qq[i].y) ed = i; } } //cout<<st<<" "<<ed<<endl; int a,b,c; for(i = 0;i < m;++ i){ scanf("%d%d%d",&a,&b,&c); add(a,b,c); } int ans=0; while(bfs()){ ans+= dfs(st,inf); } printf("%d\n",ans); } return 0;}
0 0
- HDU 4280 Island Transport(网络流)
- HDU 4280 Island Transport(网络流)
- HDU 4280 Island Transport 网络流
- hdu 4280 Island Transport 【网络流+优化】
- HDU 4280 Island Transport 网络流
- HDU 4280 Island Transport (网络流)
- HDU 4280 Island Transport 网络流sap
- HDU 4280 Island Transport 网络流
- HDU 4280Island Transport(网络流之最大流)
- HDU 4280 Island Transport (网络流 sap)
- HDU 4280 Island Transport(网络流,SAP)
- hdu 4280 Island Transport 【图论-网络流-ISAP+栈优化】
- HDU 4280 Island Transport 网络流裸题
- hdu 4280 Island Transport
- HDU 4280 Island Transport
- HDU - 4280 Island Transport
- hdu 4280 Island Transport
- [Hdu 4280]Island Transport
- android5.0+(Toolbar)
- C++第2次作业
- HDU5288 OO’s Sequence 二分
- Android省市区三级联动滚轮选择(无Bug) .
- collectionview实现无限轮播
- HDU 4280 Island Transport (网络流)
- Docker工具
- Object类
- 三色球问题
- 倒排索引
- ie11不再支持attachEvent事件
- 观察者模式
- auto format code in visual studio
- 几种排序算法的简单总结