博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【模板】dinic算法
阅读量:5226 次
发布时间:2019-06-14

本文共 939 字,大约阅读时间需要 3 分钟。

dinic算法用于解决最大流问题。

注意每次BFS之前把dist数组清空,源点的dist设为1。

1 #include
2 #include
3 #include
4 #define inf 1000000000 5 using namespace std; 6 int ans,tot,vert,edg,S,T,fr[100005],to[200005],nxt[200005],f[200005]; 7 int que[100005],dist[100005]; 8 bool inq[100005]; 9 void adde(int p,int q,int F)10 {to[tot]=q;f[tot]=F;nxt[tot]=fr[p];fr[p]=tot++;}11 bool bfs();12 int dfs(int,int);13 int main()14 {15 memset(fr,-1,sizeof(fr));16 scanf("%d%d%d%d",&vert,&edg,&S,&T);17 int p,q,w,i;18 for(i=1;i<=edg;i++)19 {20 scanf("%d%d%d",&p,&q,&w);21 adde(p,q,w); adde(q,p,0);22 }23 while(bfs()) ans += dfs(S,inf);24 printf("%d",ans);25 return 0;26 } 27 bool bfs()28 {29 memset(dist,0,sizeof(dist));30 int l=0,r=0,i,t,now;31 que[++r] = S; dist[S] = 1;32 while(l
View Code

 

转载于:https://www.cnblogs.com/hzs2000/p/6746167.html

你可能感兴趣的文章
关于ajax回调数据类型为Json,如何获得他的值
查看>>
前端各种mate积累
查看>>
jQuery 1.7 发布了
查看>>
Python(软件目录结构规范)
查看>>
Windows多线程入门のCreateThread与_beginthreadex本质区别(转)
查看>>
Nginx配置文件(nginx.conf)配置详解1
查看>>
linux php编译安装
查看>>
name phone email正则表达式
查看>>
721. Accounts Merge
查看>>
Linux下使用pip安装keras
查看>>
OpenCv-Python 图像处理基本操作
查看>>
博物院与国宝
查看>>
「Unity」委托 将方法作为参数传递
查看>>
重置GNOME-TERMINAL
查看>>
redis哨兵集群、docker入门
查看>>
正则表达式2
查看>>
Unity3D_(插件)小地图自刷新制作Minimap小地图
查看>>
为什么分布式一定要有Redis?
查看>>
hihoCoder 1233 : Boxes(盒子)
查看>>
HihoCoder 1328 BFS 搜索
查看>>