poj1273 Drainage Ditches(最大流dinic板子)
来源:互联网 发布:sql查询结果导出excel 编辑:程序博客网 时间:2024/05/16 08:00
Dinic算法的核心就在于多路增广。每次bfs给残余网络分层,然后一次dfs把能增广的全都增广了。复杂度是
#include <bits/stdc++.h>using namespace std;#define ll long long#define N 210#define inf 0x3f3f3f3finline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar(); return x*f;}int n,m,h[N],num=1,lev[N],ans=0;struct edge{ int to,next,val;}data[N<<1];inline bool bfs(){ queue<int>q;memset(lev,0,sizeof(lev)); q.push(1);lev[1]=1; while(!q.empty()){ int x=q.front();q.pop(); for(int i=h[x];i;i=data[i].next){ int y=data[i].to;if(lev[y]||!data[i].val) continue; lev[y]=lev[x]+1;q.push(y); } }return lev[n];}int dinic(int x,int low){ if(x==n) return low;int tmp=low;//tmp--剩余流量 for(int i=h[x];i;i=data[i].next){ int y=data[i].to;if(lev[y]!=lev[x]+1||!data[i].val) continue; int res=dinic(y,min(data[i].val,tmp)); if(!res) lev[y]=0;tmp-=res;data[i].val-=res;data[i^1].val+=res; if(!tmp) return low; }return low-tmp;}int main(){// freopen("a.in","r",stdin); m=read();n=read(); while(m--){ int x=read(),y=read(),val=read(); data[++num].to=y;data[num].next=h[x];h[x]=num;data[num].val=val; data[++num].to=x;data[num].next=h[y];h[y]=num;data[num].val=0; }while(bfs()) ans+=dinic(1,inf); printf("%d\n",ans); return 0;}
阅读全文
0 0
- poj1273 Drainage Ditches(最大流dinic板子)
- poj1273 Drainage Ditches 最大流 dinic算法
- POJ1273 Drainage Ditches 【最大流Dinic】
- POJ1273 Drainage Ditches(裸最大流,EK,DINIC)
- POJ1273 Drainage Ditches 最大流模板题(dinic)
- poj1273 Drainage Ditches(最大流EKarp+Dinic+模板总结)
- POJ1273 Drainage Ditches(dinic)
- POJ1273 Drainage Ditches(最大流)
- POJ1273 Drainage Ditches 【最大流】
- 【poj1273】Drainage Ditches(Dinic)
- POJ1273 Drainage Ditches【dinic算法】
- poj1273 Drainage Ditches(最大流入门 EK+Dinic模板)
- POJ1273 Drainage Ditches——最大流
- 网络最大流问题 poj1273 Drainage Ditches
- POJ1273 Drainage Ditches最大流模板
- poj1273 Drainage Ditches 最大流EK
- poj1273--Drainage Ditches(最大流)
- POJ1273 Drainage Ditches【最大流】【SAP】
- GreenDao基本使用_
- IT项目的安全需求(二)— SQUARE
- 二级购物车自定义demo
- [转]【OpenCV入门教程之二】 一览众山小:OpenCV 2.4.8 or OpenCV 2.4.9组件结构全解析
- tmux 使用总结
- poj1273 Drainage Ditches(最大流dinic板子)
- 微信公众平台开发:JS-SDK之分享功能整理
- Tomcat下运行正常,weblogic却报错
- 何为设计中的美?
- 初识nodejs-简单说
- Java 计算器,通过动态生成并编译Java类来进行
- laravel框架导出表格时数据格式正确但是导不出表格
- 浏览器的一个小问题
- stm学习---FSMC控制TFT屏程序1