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)相关推荐

  1. 最大流 edmonds carp

    最大流的问题就不重复了,思路如下: 每次找到一条从s到t的路径, 其容量为所经历的所有边上容量最小的一个; 将这个路径的容量加入图的总容量; 沿着刚才那条路径走,沿两个方向更新边 找路径可以用bfs, ...

  2. 算法艺术——网络最大流

    女强人:http://blog.csdn.net/abcjennifer/article/details/5556455 USACO 4.2.1 Ditch 网络最大流问题算法小结 通过 USACO ...

  3. 算法导论 CLRS 第26章 最大流 Maximum flow C#

    2021/11/26 第六部分 图算法 第22章 基本的图算法 图数据结构设计 出度.入度和度 有向图 出度≠入度 先初始化出度,再初始化入度,u.入度=u.AdjList.length-u.out_ ...

  4. 最大流三大算法——3,ISAP算法

    最大流背景介绍:比如城市水管,从水站运水送你家,许多管道总共能同时送多少水到 最大流分三个算法,算法难度与优越性逐步提升: 1,EK(Edmonds−Karp)算法 2,dinic算法 3,ISAP算 ...

  5. ICPC-图论知识与算法要览

    1.图定义(Definitions in graph theory) 1)图(Graph) 2)有向图(Directed graph) 3)图数据表示 邻接矩阵(Adjacency Matrix),邻 ...

  6. Competitive Programming 3题解

    题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...

  7. Python小白的数学建模课-19.网络流优化问题

    流在生活中十分常见,例如交通系统中的人流.车流.物流,供水管网中的水流,金融系统中的现金流,网络中的信息流.网络流优化问题是基本的网络优化问题,应用非常广泛. 网络流优化问题最重要的指标是边的成本和容 ...

  8. 10种算法一文打尽!基本图表算法的视觉化阐释

    图源:unsplash 来源:读芯术 在社交媒体网络.网页和链接.GPS中位置和路线等真实场景中,图表已成为一种强大的建模和捕获数据手段,如果一组对象相互关联,则可以用图表来表示. 本文就将简要解释1 ...

  9. em算法直观_直观地解释了10种图形算法

    em算法直观 重点 (Top highlight) Graphs have become a powerful means of modelling and capturing data in rea ...

  10. 增广路算法 (最大流问题)

    Edmonds-Karp算法: 计算机科学中, Edmonds–Karp算法通过实现Ford–Fulkerson算法来计算网络中的最大流,其时间复杂度为O(V E2). 该算法由Yefim (Chai ...

最新文章

  1. QGIS打印布局cheatsheet
  2. Nokia5110液晶屏完全新手学习笔记(二)
  3. WinRAR最新版V3.93 破解方法
  4. head()函数python_Python中的Pandas DataFrame head()方法
  5. CentOS 6.4 配置LAMP 环境 与安装 phpmyadmin
  6. android apr分析,APR分析信号篇
  7. 尾气冒黑烟是什么问题_烟囱里冒得白烟、黑烟、黄烟有什么危害?
  8. 通信要学很多计算机课吗,辽宁科技学院通信工程专业要学哪些课程,好学吗?...
  9. 无悔入华夏怎么一直显示服务器,无悔入华夏祭祀玩法怎么玩 无悔入华夏祭祀怎么触发?...
  10. 新Linux木马发现:每30秒截图并用麦克风录音
  11. 腾讯云主机安全防护(云镜)/usr/local/qcloud/YunJing/YDEyes/YDService 卸载
  12. 在mysql中 创建视图需要使用_语句_在MySQL中创建视图的X种方式
  13. woocommerce修改商品详情页
  14. 软件工程-需求分析的任务
  15. 游戏的交互设计与心理学应用
  16. cdr三角形转化为圆角_cdr怎么把直角变成圆角
  17. 随机过程基础(1)---一维随机变量标准分布函数、常见性质MATLAB实现
  18. win11开机数字小键盘失灵不能使用问题
  19. zblog html代码,简单快速修改zblog模板的重要代码
  20. Holt_Winters三次平滑指数实现

热门文章

  1. Python Tricks(二十一)—— 排列组合的计算
  2. Trick(四)——翻转字符串的实现
  3. 使用 Pig 进行数据分析
  4. 使用 C++ bitset 操纵浮点数类型(float、double)
  5. 帖子如何实现显示浏览次数_我是如何一步步的在并行编程中将lock锁次数降到最低实现无锁编程...
  6. 安卓一个页面设置另一个页面的文本样式_H1标签对于SEO有多重要?页面要不要用H1标签呢?...
  7. python与excel-Python 与 Excel 不得不说的事
  8. python有什么用-我们为什么要选择学习python?学习python有什么用?
  9. 从零开始学习python编程-从零开始学python编程一:首行代码
  10. python有趣的代码-盘点10个一行强大的、有趣的Python源代码