pku 1273_Drainage Ditches 最大流问题
来源:互联网 发布:如何提高淘宝买家等级 编辑:程序博客网 时间:2024/05/05 11:32
经典网络流问题,使用Ford Fulkson算法。
思路大概是:求排水沟网络中的最大排水量。
从源点开始,每次寻找一条增广路径,更新一次,再重新找增广路径……直到没有为止。即每次寻找一条由源点到汇点的路径;
把路径全部找完之后,剩余网络是最优网络,即能实现最大流。
寻找增广路径时我使用了广搜,这是比较容易实现的过程。
详细代码:
Source Code
Problem: 1273 User: moxiaomomoMemory: 332K Time: 0MSLanguage: C++ Result: Accepted- Source Code
Source CodeProblem: 1273User: moxiaomomoMemory: 332KTime: 0MSLanguage: C++Result: AcceptedSource Code#include<iostream>using namespace std;int N,M;int cost[205][205],r;int Min[205],pre[205]; bool visit[205]; //搜索标记int bfs(){int q[205],start = 0,end = 0;memset(visit,false,sizeof(visit));q[0] = 1; //以n点为搜索起点visit[1]=true;Min[1]=10000005;while(start<=end) //搜索的最后一个点将是n+1{int t=q[start]; //下面进行点t的广搜for(int i=1;i<=M;++i){if(!visit[i]&&cost[t][i]!=0){ //Min[t],最小值传递;如果前向节点记录的值比当前的边的值要大,则...Min[i]=(Min[t]<cost[t][i])? Min[t] : cost[t][i];//Min[t]的作用是记录路径中权值最小的边pre[i]=t; //i的前向节点为t,在搜索过程中不断更新if(i==M){return Min[M];} //搜索完毕visit[i]=true;q[++end]=i; //将i并入已搜索的集合}}start++; //进行下一个点的广搜}if (visit[M]) //如果最后一个点被搜索到,则说明存在增广路径 return Min[M]; else return -1 ;}void Ford_Fulkerson(){int max=0,t,pre_t;while((r = bfs()) != -1) //存在增广路径{max+=r; //最后max的值将是最大流的值t=M;while(t!=1){pre_t=pre[t]; //找出前向点cost[pre_t][t]-=r; //前向路径值减一cost[t][pre_t]+=r; //后向路径值加一t=pre_t; //更新前向点}}printf("%d/n",max);}int main(){int k,x,y;while(scanf ("%d%d",&N,&M) != EOF){memset(cost,0,sizeof(cost));for(int i=0;i<N;++i){scanf("%d%d%d",&x,&y,&k);cost[x][y]+=k;}Ford_Fulkerson();} return 0;}
- pku 1273_Drainage Ditches 最大流问题
- 最大流问题 pku 1273 Drainage Ditches
- PKU-1273 Drainage Ditches (网络最大流)
- pku 1273 Drainage Ditches( Edmond-Karp最大流模板)
- poj-1273-Drainage Ditches(最大流问题)
- poj 1273 Drainage Ditches 最大流问题.
- pku 1273 Drainage Ditches 最大流入门基础题
- PKU 1273 Drainage Ditches
- 网络最大流问题 poj1273 Drainage Ditches
- Drainage Ditches (最大流问题)
- 【POJ1273】Drainage Ditches-最大流问题
- poj 1273 Drainage Ditches 网络最大流
- 【最大流】北大 poj 1273 Drainage Ditches
- POJ-1273 Drainage Ditches【最大流】
- poj 1273 Drainage Ditches--最大流--Dinic
- poj 1273Drainage Ditches 最大流
- poj 1273 Drainage Ditches--最大流--sap
- poj 1273 Drainage Ditches---maxflow最大流
- 用命令更改mysql字符集配置
- Qt WebKit可以做什么
- grep 命令
- MYSQL中如何获取最后一条记录?
- IBM云存储技术
- pku 1273_Drainage Ditches 最大流问题
- threadlocal
- Java面试技巧:Java面试题集锦(一)
- Java面试技巧:Java面试题集锦(二)
- 南京彭宇案后,我们该怎么样救人?(看一个救人日记,超强!)
- 镜像情形
- 《监控》
- 校外实训周报(三)
- 不想洗碗