HDU 4240 Route Redundancy 网络流
来源:互联网 发布:志鸿优化设计教案 编辑:程序博客网 时间:2024/05/16 13:55
题意:没看懂。
语法分析:The redundancy ratio from point A to point B is the ratio of the maximum number of cars...,tothemaximum number of cars ...这里的to应该是除的意思。
要求的就是:A到B的最大流/A到B的一条路的流量(是所有A到B中流量最大的)。
分子好求,分母只要在dinic算法中在到达B点的时候,选择更大的流量就好了。
#include<iostream>#include<cstring>#include<cstdio>#include<iomanip>#include<queue>#define inf 0x7fffffffusing namespace std;const int node_num=2000+5;int D,N,E,A,B;int mmax;struct node{int v,flow,next;}e[node_num*node_num];int head[node_num],cnt;class Dinic{public:int spath();int Min(int a,int b){if(a<b) return a;return b;}int dfs(int u,int flow);int result();private:int dis[node_num];}dinic;int Dinic::spath(){queue<int>q;while(!q.empty()) q.pop();for(int i=0;i<=N;i++){dis[i]=-1;}dis[A]=0;q.push(A);while(!q.empty()){int u=q.front();q.pop();for(int i=head[u];i+1;i=e[i].next){int v=e[i].v;if(dis[v]==-1&&e[i].flow>0){dis[v]=dis[u]+1; q.push(v);}}}return dis[B]!=-1;}int Dinic::dfs(int u,int flow){int cost=0;if(u==B) {if(mmax<flow) mmax=flow;return flow;}for(int i=head[u];i+1;i=e[i].next){int v=e[i].v;if(dis[v]==dis[u]+1&&e[i].flow>0){int mmin=dfs(v,Min(flow-cost,e[i].flow));if(mmin>0){e[i].flow-=mmin;e[i^1].flow+=mmin;cost+=mmin;if(cost==flow) break;}else dis[v]=-1;}}return cost;}int Dinic::result(){int res=0;while(spath()){res+=dfs(A,inf);}return res;}void Init(){memset(head,-1,sizeof(head));cnt=0;}void add(int a,int b,int c){e[cnt].v=b;e[cnt].flow=c;e[cnt].next=head[a];head[a]=cnt++;e[cnt].v=a;e[cnt].flow=0;e[cnt].next=head[b];head[b]=cnt++;}void Input(){cin>>D>>N>>E>>A>>B;for(int i=1;i<=E;i++){int a,b,c;cin>>a>>b>>c;add(a,b,c);}}void Treatment(){mmax=-1; int k=dinic.result(); //cout<<mmax<<endl; //cout<<k<<endl; cout<<D<<" "<<setiosflags(ios_base::fixed)<<setprecision(3)<<k*1.0/mmax<<endl;}int main(){int p;cin>>p;while(p--){Init();Input();Treatment();}return 0;}
0 0
- hdu 4240 Route Redundancy 网络流
- HDU 4240 Route Redundancy 网络流
- HDU 4240 Route Redundancy
- HDU 4240 Route Redundancy
- [最大流] hdu 4240 Route Redundancy
- hdu 4240 Route Redundancy(最大流)
- hdu 4240 Route Redundancy(最大流)
- hdu 4240 Route Redundancy 最大流 isap
- HDU 4240 Route Redundancy【最大流】
- hdu 4240 Route Redundancy(dinic)
- HDU 4240 Route Redundancy 一条流最大的路径
- HDU — 4240 Route Redundancy(最大流)
- HDU 4240 --Route Redundancy【最大流dinic && DFS】
- 【网络流】 HDU4240 Route Redundancy 基础
- hdoj 4240 Route Redundancy 【最大流+ SPFA】
- HDU 4240 Route Redundancy(基础) [最大流]一条流最大的路径
- HDOJ 4240 - Route Redundancy 最大流+DP...阅读理解...
- 【 hdoj 4240】 Route Redundancy 【dinic+spfa】
- 如何设置确认selinux 模式
- C风格字符串
- 展示在屏幕上的控件的归纳
- cocos2d-x部分函数介绍
- GestureDetector
- HDU 4240 Route Redundancy 网络流
- android之gradle构建工具学习之路(一)
- 如何快速验证 SELinux Policy 问题
- 得到重复的数字
- bzoj4247 挂饰
- 安卓基本控件之ImageView
- Heartbeat3安装
- HDU 1010 【搜索+奇偶剪枝】
- Android Canvas 与 View之间的关系