【LOJ101】最大流(Edmonds-Karp)
problem
- 给定n个点,m条边的有向图
- 求源点s到汇点的最大流
solution
最大流模板,,不会看笔记吧。。。
codes
//Edmonds-Karp
#include<iostream>
#include<algorithm>
#include<queue>
#include<cstring>
using namespace std;
typedef long long LL;
const int maxn = 110, maxm = 5010<<1;int n, m, s, t;
int tot=1, head[maxn], Next[maxm], ver[maxm], flow[maxm];
void AddEdge(int x, int y, int z){ver[++tot] = y; flow[tot] = z;Next[tot] = head[x]; head[x] = tot;ver[++tot] = x; flow[tot] = 0;Next[tot] = head[y]; head[y] = tot;
}LL infc[maxn], pre[maxn], maxflow;
bool vis[maxn];
bool bfs(){memset(vis,0,sizeof(vis));queue<int>q;q.push(s); vis[s] = 1; infc[s] = 1<<30;while(q.size()){int x = q.front(); q.pop();for(int i = head[x]; i; i = Next[i]){int y = ver[i];if(vis[y])continue;if(!flow[i])continue;//1.当前边无流量返回infc[y] = min(infc[x], (LL)flow[i]);//2.增广路上各边的最小剩余容量pre[y] = i;//3.方案vis[y] = 1; q.push(y);if(y == t)return true;//4.到达汇点}}return false;
}
void update(){int x = t;while(x != s){int i = pre[x];flow[i] -= infc[t];flow[i^1] += infc[t];x = ver[i^1];}maxflow += infc[t];
}int main(){cin>>n>>m>>s>>t;for(int i = 1; i <= m; i++){int x, y, z; cin>>x>>y>>z; AddEdge(x,y,z);}while(bfs())update();cout<<maxflow<<'\n';return 0;
}
【LOJ101】最大流(Edmonds-Karp)相关推荐
- 最大流 edmonds carp
最大流的问题就不重复了,思路如下: 每次找到一条从s到t的路径, 其容量为所经历的所有边上容量最小的一个; 将这个路径的容量加入图的总容量; 沿着刚才那条路径走,沿两个方向更新边 找路径可以用bfs, ...
- 算法艺术——网络最大流
女强人:http://blog.csdn.net/abcjennifer/article/details/5556455 USACO 4.2.1 Ditch 网络最大流问题算法小结 通过 USACO ...
- 算法导论 CLRS 第26章 最大流 Maximum flow C#
2021/11/26 第六部分 图算法 第22章 基本的图算法 图数据结构设计 出度.入度和度 有向图 出度≠入度 先初始化出度,再初始化入度,u.入度=u.AdjList.length-u.out_ ...
- 最大流三大算法——3,ISAP算法
最大流背景介绍:比如城市水管,从水站运水送你家,许多管道总共能同时送多少水到 最大流分三个算法,算法难度与优越性逐步提升: 1,EK(Edmonds−Karp)算法 2,dinic算法 3,ISAP算 ...
- ICPC-图论知识与算法要览
1.图定义(Definitions in graph theory) 1)图(Graph) 2)有向图(Directed graph) 3)图数据表示 邻接矩阵(Adjacency Matrix),邻 ...
- Competitive Programming 3题解
题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...
- Python小白的数学建模课-19.网络流优化问题
流在生活中十分常见,例如交通系统中的人流.车流.物流,供水管网中的水流,金融系统中的现金流,网络中的信息流.网络流优化问题是基本的网络优化问题,应用非常广泛. 网络流优化问题最重要的指标是边的成本和容 ...
- 10种算法一文打尽!基本图表算法的视觉化阐释
图源:unsplash 来源:读芯术 在社交媒体网络.网页和链接.GPS中位置和路线等真实场景中,图表已成为一种强大的建模和捕获数据手段,如果一组对象相互关联,则可以用图表来表示. 本文就将简要解释1 ...
- em算法直观_直观地解释了10种图形算法
em算法直观 重点 (Top highlight) Graphs have become a powerful means of modelling and capturing data in rea ...
- 增广路算法 (最大流问题)
Edmonds-Karp算法: 计算机科学中, Edmonds–Karp算法通过实现Ford–Fulkerson算法来计算网络中的最大流,其时间复杂度为O(V E2). 该算法由Yefim (Chai ...
最新文章
- QGIS打印布局cheatsheet
- Nokia5110液晶屏完全新手学习笔记(二)
- WinRAR最新版V3.93 破解方法
- head()函数python_Python中的Pandas DataFrame head()方法
- CentOS 6.4 配置LAMP 环境 与安装 phpmyadmin
- android apr分析,APR分析信号篇
- 尾气冒黑烟是什么问题_烟囱里冒得白烟、黑烟、黄烟有什么危害?
- 通信要学很多计算机课吗,辽宁科技学院通信工程专业要学哪些课程,好学吗?...
- 无悔入华夏怎么一直显示服务器,无悔入华夏祭祀玩法怎么玩 无悔入华夏祭祀怎么触发?...
- 新Linux木马发现:每30秒截图并用麦克风录音
- 腾讯云主机安全防护(云镜)/usr/local/qcloud/YunJing/YDEyes/YDService 卸载
- 在mysql中 创建视图需要使用_语句_在MySQL中创建视图的X种方式
- woocommerce修改商品详情页
- 软件工程-需求分析的任务
- 游戏的交互设计与心理学应用
- cdr三角形转化为圆角_cdr怎么把直角变成圆角
- 随机过程基础(1)---一维随机变量标准分布函数、常见性质MATLAB实现
- win11开机数字小键盘失灵不能使用问题
- zblog html代码,简单快速修改zblog模板的重要代码
- Holt_Winters三次平滑指数实现
热门文章
- Python Tricks(二十一)—— 排列组合的计算
- Trick(四)——翻转字符串的实现
- 使用 Pig 进行数据分析
- 使用 C++ bitset 操纵浮点数类型(float、double)
- 帖子如何实现显示浏览次数_我是如何一步步的在并行编程中将lock锁次数降到最低实现无锁编程...
- 安卓一个页面设置另一个页面的文本样式_H1标签对于SEO有多重要?页面要不要用H1标签呢?...
- python与excel-Python 与 Excel 不得不说的事
- python有什么用-我们为什么要选择学习python?学习python有什么用?
- 从零开始学习python编程-从零开始学python编程一:首行代码
- python有趣的代码-盘点10个一行强大的、有趣的Python源代码