网络流入门之最大流问题(1)

网络流——最大流EK算法讲解 好了,这是第二篇博客了,如第一篇所述,来讲一讲刚刚理解的网络流。因为本人只会EK算法,所以先讲这个算法。 什么是网络流??? 读者们刚接触这个知识可能会有点蒙,不,可能是非常蒙。虽然本蒟蒻也只是懵懵懂 如最短路,我想即使先不学,手算也能将一个简单的图求出来。 但是遇到网络流——最大流,那恐怕不是那么好算,反正一开始给我算我也只是一头雾水。(有可能是本人太弱了,各位大佬请谅解)给个图(感谢某位大佬的... 阅读详情

changxv大佬说网络流非常万能,几乎可以解决所有与图有关的题目(网络流的强悍!),这里写出博客只是谈谈我自己的心得体会,帮助那些看到网络流望而却步的同学们以及我自己有个大致了解。

概念:

在一张带权图G中,我们已知源点s与汇点t,假设我们要将水从s输送到t,其间必然会通过一些边以及其它中转点(边就像是水管,边权就是这个水管的最大容量即最大运送的水量),最大流问题就是要我们求在每个水管最大容量内最多能将多少水从s送到t。

 

变量定义:

对于每一条边,我们定义它的上限为容量cap(u,v),实际运送水量称为流量flow(u,v)

struct edge{

    int from,to,cap,flow;//一般只用一个cap即可(看到后面就知道啦大笑)

}

注意:从u->v的水管送2单位水,再从v->u的水管送4单位水没有意义,因为其等价于从v->u送(4-2=2)单位水。因此,对于每一条从u->v的边,我们建立一条正向边(正向弧)和一条反向边(反向弧),规定其中flow(u,v)>=0,flow(v,u)<=0。

最大流性质:

除了源点s与汇点t,其余结点都为中转点,所以有:

1、s的出水流量等于t的入水流量

2、flow(u,v)=-flow(v,u)

3、任意中转结点的总入水流量等于-总出水流量,即:正向弧flow+反向弧flow=0

 

增广路算法:

即是求解最大流的算法,算法思想很简单,即从零开始不断增加流量,并且每次都保持上述3条最大流性质。

如:对于一条边(u,v),若我们要向这条边送d单位的水量,则flow(u,v)+=d,flow(v,u)-=d。

我们每一次增广后的图称为残量网络,对于flow=cap的边,我们称它已满流,则在下一次增广中这条边是不能流动的(也可以说删除了这条边)。

显然,每次增广之后流量始终满足3条性质,所以只要残量网络中不存在增广路(s和t不连通),则当前流就是最大流。

由此可以看出我们每次都是找一条任意从s到t的可行路径,我们很容易想出dfs或bfs暴力算法,事实上我学的也就是dfs。

举个例子:假设有n个教室m个老师,第i个老师能在一些教室上课,现在我们让第一个老师选择他的教室,当第二个老师来的时候,他选择他的教室……直到一个老师a选定的一个教室已经被老师b占用,老师a会选择与老师b商量,那么老师b会寻找他的第二个教室,如果此时教室为空,则成功;如果此时

网络流基础、最大流最小割定理以及证明 网络流的基本概念 网络流问题都是建立在类似上图的有向图之上,有向图的边的权值代表容量。其中A代表源点,C代表汇点,一般考察的问题情景就是从A中流出流量,经过这些有向边,最终汇集到C中。像这样的具有源点和汇点,并且每条边的权值均为正数的有向图就被称作是容量网络,图中的这些边被称作是弧,弧的权值被称作弧的容量,它代表着能够通过这条弧的最大流量。而经过弧上的实际流量被称作弧的流量,所有这些弧的... 阅读详情

相关推荐

ACM网络流入门

网络流是ACM图论当中比较重要和难懂的一块,万事开头难,我们还是需要从一个简单的问题引入,这就是网络流中最大流问题。 网络流入门 网络流的最经典应用就是最大流....给定一个图...给出每条边能流过的最大流量...求源点到汇点的最大流量.... 求解网络流的基本思想就是每次寻找增广路(就是源点到汇点的一条可行路)..然后ans+=增广路能流过的流量..更新剩余网络..然后再做增广

colorfulshark 2076

SAP S/4HANA 物料分类账(ML)/实际成本核算(Actual Costing)——底表全景 & CKMLCP 执行后数据变化

插入 ML 重估凭证行项目:Dr/Cr 库存科目(期末库存调整)、Dr/Cr COGS/消耗科目(消耗重估)、Cr/Dr ML 重估抵消科目(PRY/PRV 类逻辑)also STPRS/VERPR/PEINH/LBKUM 等(但 S/4 很多“真理”在 ACDOCA)MLPP / MLPPF / MLCR / MLCRF / MLCD / CKMLMV003/004 等。Material Ledger Document(行项目明细:收货/发票价差/结算写入/重估相关)间接(PUP在CKMLCR;

weixin_52203666的博客 587

WorkVisual传输程序报错_发现一个内部错误

WorkVisual传输程序报错_发现一个内部错误

qq_16401025的博客 2459

记一次完整的RPG Maker MV游戏逆向过程(思路一)

了解RPG Maker MV的文件建构 上一篇文章,我们已经成功在PC上运行了游戏,那我们如何对游戏进行逆向呢? 首先要了解正常的RPG Maker MV制作的游戏应该具有哪些文件,以及他的结构 那如何了解他的结构呢,很简单,我们只需要用RPG Maker MV创建一个默认工程,来看看一个游戏的最简结构是怎么样的 创建新项目 项目创建完成 查看项目目录结构 是不是和之前解包出来的很像呢? 通...

Ciiiiiing的博客 1万+

ESP32-CAM图传小车:端边协同的嵌入式视觉系统设计

在物联网边缘智能场景中,嵌入式视觉系统需平衡实时性、算力与成本。其核心在于理解图像采集、硬件编码、低延迟传输与分层计算的基本原理——OV2640等CMOS传感器配合JPEG硬件编码可显著降低主控负载;TCP流式协议比HTTP/RTSP更适配资源受限MCU;而‘计算卸载’架构将OpenCV等重负载移至Android端,使ESP32专注实时控制与传输,既发挥FreeRTOS任务调度优势,又规避了PSRAM带宽与内存瓶颈。该模式广泛适用于教育机器人、智能巡检及DIY视觉终端等场景,本文以WiFi图传坦克小车为载体

weixin_42524864的博客 375

【CanMV K210】AI 视觉 MNIST 手写数字识别与分类推理

本文介绍了基于CanMV K210开发板的MNIST手写数字识别实验。实验通过摄像头采集图像,经过开窗、灰度化、缩放、反色等预处理后,使用KPU神经网络加速器运行MNIST分类模型,最终在LCD上显示识别结果。重点讲解了分类模型与检测模型的区别、图像预处理流程以及KPU推理结果的解析方法。实验帮助理解从图像采集到分类输出的完整AI视觉处理链路,并提供了调试思路和硬件连接说明。

Mr数据杨 366

【YOLOv11多模态融合改进】| CVPR2025 LCA轻量交叉注意力 双向模态交叉引导 + 双支路噪点抑制,兼顾纹理与热目标特征融合

可见光模态富含纹理、色彩、边缘细节,但夜间/低照度场景信噪比极低,暗区噪声泛滥;红外模态依靠热辐射凸显弱小目标、暗区物体轮廓,但缺失真实色彩与精细纹理。简单拼接/逐加融合仅做浅层特征叠加,无法建立可见光纹理、红外热特征的双向引导关联,两类模态互补信息无法精准互通;普通自注意力仅单模态内部建模,跨模态交互匮乏,红外热目标易被可见光暗噪声淹没,可见光有效纹理易被红外灰度信息覆盖;

Limiiiing的博客 121

python基础之语言发展历史

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。 目录一、前言二、发展历史1、Python是一种面向对象的解释型编程语言2、Python常被称为胶水语言3、Python由Guido开发4、Python连续多年入选编程语言TOP105、Python的发展历史三、总结 一、前言   由于Python语言的简洁性、易读性以及可扩展性,它在网络爬虫、数据分析、.

jiankang66的博客 3349

vue2学习笔记2-老规矩,从Hello World开始,了解Vue实例和模板

想要把“Hello,World”放置在页面上,首先需要准备一个HTML的块级元素div,来承接内容。

l_q_l的专栏 1259

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

下一篇: 网络流入门之简单建模(2)
DancingZ
博客等级 码龄9年 10粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值