POJ 1273&Dinic解决
来源:互联网 发布:ubuntu麒麟 下载 编辑:程序博客网 时间:2024/06/10 23:53
题目链接 http://poj.org/problem?id=1273
#include<iostream>using namespace std;#include<queue>#include<vector>#include<cstring>#include<algorithm>#include<deque>#define INFINITE 0x7fffffint G[300][300];bool Visited[300];int Layer[300];int n,m; //1是源点 m是汇点bool CountLayer(){ int layer=0; deque<int>q; memset(Layer,0xff,sizeof(Layer)); Layer[1]=0; q.push_back(1); while (!q.empty()) { int v=q.front(); q.pop_front(); for (int j=1;j<=m;j++) { if (G[v][j]>0&&Layer[j]==-1) { Layer[j]=Layer[v]+1; if (j==m) return true; else q.push_back(j); } } } return false;}int Dinic(){ int i; int s; int nMaxFlow=0; deque<int>q; while (CountLayer()) { q.push_back(1); memset(Visited,0,sizeof(Visited)); Visited[1]=1; while (!q.empty()) { int nd=q.back(); if (nd==m) { //source int nMinC=INFINITE; int nMinC_vs; for (i=1;i<q.size();i++) { int vs=q[i-1]; int ve=q[i]; if (G[vs][ve]>0) { if (nMinC>G[vs][ve]) { nMinC=G[vs][ve]; nMinC_vs=vs; } } } nMaxFlow+=nMinC; for (i=1;i<q.size();i++) { int vs=q[i-1]; int ve=q[i]; G[vs][ve]-=nMinC; //修改边容量 G[ve][vs]+=nMinC; //添加反向边 } while (!q.empty()&&q.back()!=nMinC_vs) { Visited[q.back()]=0; q.pop_back(); } } else { for (i=1;i<=m;i++) { if (G[nd][i]>0&&Layer[i]==Layer[nd]+1&&!Visited[i]) { Visited[i]=1; q.push_back(i); break; } } if (i>m) q.pop_back(); } } } return nMaxFlow;}int main(){ while (cin>>n>>m) { int i,j,k; int s,e,c; memset(G,0,sizeof(G)); for (int i=0;i<n;i++) { cin>>s>>e>>c; G[s][e]+=c; } cout<<Dinic()<<endl; } return 0;}
0 0
- POJ 1273&Dinic解决
- poj 1273 Dinic
- POJ 1273 Dinic
- poj 1273 dinic
- poj 1273(dinic....基础题)
- POJ 1273 最大流 Dinic
- POJ 1273 Drainage Ditches -dinic
- POJ-1273(Dinic)题解
- 网络流 dinic poj 1273
- 最大流模板更新(Dinic)...POJ-1273
- poj 1273 Drainage Ditches -- (Dinic 算法入门)
- poj 1273 Drainage Ditches--最大流--Dinic
- POJ 1273 最大流Ford-furkerson & Dinic
- poj 1273 Drainage Ditches (最大流Dinic)
- POJ-1273 最大流dinic算法
- POJ 1273 Drainage Ditches 最大流 dinic
- poj 1273最大流dinic算法模板
- POJ 1273 Drainage Ditches (dinic模板)
- XML的解析
- 【Unity3D】本地数据加密_1
- osi七层模型,TCP/IP四层模型
- HDU 1506 Largest Rectangle in a Histogram(dp求最大子矩阵和)
- Maven Plugins
- POJ 1273&Dinic解决
- HDU1032:The 3n + 1 problem(比较运算次数)
- 遥感常用数据下载链接
- 华为2017年大牛机试题—最长回文字符串
- POJ 1703 并查集
- eclipse build path功能总结
- mysql遇到的问题总结
- 51nod 1119
- 唉,都是摄像头惹的祸 :-(