首页 > 其他分享 >上下界网络流小记

上下界网络流小记

时间:2022-10-07 11:33:31浏览次数:77  
标签:可行 源点 网络 附加 下界 汇点 流量 小记

概述

上下界网络流,就是每条边不仅有流量上限,还有流量下限。和所有网络流一样,需要满足每个点入流量等于出流量,即流量守恒。

根据有无源汇以及要求可行流 / 最大流 / 最小流,可以分成如下几种。下面依次展开。

模板题在 LOJ 上有。

懒得画图了!

无源汇上下界可行流

先把每条边的流量设为下限,这个时候有可能存在点流量不守恒,那么我们就需要调整。

考虑添加一些附加边,使得原图(即每条边流量都是下限的网络)和这个附加图(每条边流量就是附加边的流量)对应边的流量加起来会流量守恒。

首先,对于原图的一条边 \((u,v,l,r)\),我们需要在附加图上加入边 \((u,v,r-l)\),表示可以调整的流量。

然后,建立超级源点 \(S\) 和超级汇点 \(T\),设 \(dlt_i\) 表示原图中点 \(i\) 的入流量减出流量:

  • 若 \(dlt_i=0\),则流量守恒,不需要附加流量;
  • 若 \(dlt_i>0\),则需要附加图中出流量大于入流量,那么连边 \((S,i,dlt_i)\);
  • 若 \(dlt_i<0\),则需要附加图中入流量大于出流量,连边 \((i,T,-dlt_i)\)。

如果 \(S\) 连出去的所有附加边满流,说明这一个点可以满足流量守恒,否则这个点就不能流量守恒。

在建图完毕之后跑 \(S\) 到 \(T\) 的最大流,若 \(S\) 连出去的边全部满流,则存在可行流,否则不存在。

模板题代码:https://loj.ac/s/1597229

有源汇上下界可行流

由汇点 \(T\) 向源点 \(S\) 连一条下界为 \(0\),上界为 \(\infty\) 的附加边,得到一张和原图等价的无源汇网络。

于是问题就转化成了无源汇上下界可行流。此时从源点到汇点的可行流流量,即为从汇点到源点的那条附加边的流量(注意下界网络中对应边流量为 \(0\))。

值得一提的是,给出的源点和汇点现在已经被看成普通点,我们需要建立新的超级源点 \(S'\) 和超级汇点 \(T'\)。

有源汇上下界最大流

跑一遍有源汇上下界可行流,那么已知流量就是 \(T\) 到 \(S\) 的附加边的流量(因为流量守恒)。

要求从 \(S\) 到 \(T\) 的最大流,我们可以删除所有附加边(实际上必须删的只有 \((T,S,0,\infty)\) 这条边,因为如果存在可行流那么连接 \(S'\) 和 \(T'\) 的边流量都已经是 \(0\) 了,对答案没有影响),然后以 \(S\) 与 \(T\) 为源点与汇点,再求残量网络的最大流,加上可行流的流量即为原网络的最大流。

这是因为,可行流已经保证了流量守恒,那么删去附加边后,我们再跑一次最大流,流量仍然守恒。

在残量网络上跑最大流得到了可以额外增广的流量,加上之前求出的可行流就是要求的最大流。

模板题代码:https://loj.ac/s/1597399

有源汇上下界最小流

和最大流类似,不过是换成在残量网络上以 \(T\) 为源点,\(S\) 为汇点跑最大流,答案就是可行流流量减去最大流流量。

可以理解为在残量网络上退回一些流量,仍然保持流量守恒。

模板题代码:https://loj.ac/s/1597404

参考学习

https://zhuanlan.zhihu.com/p/324507636

https://www.cnblogs.com/caterpillor/p/15658834.html

https://oi-wiki.net/graph/flow/bound/

标签:可行,源点,网络,附加,下界,汇点,流量,小记
From: https://www.cnblogs.com/xsl19/p/flow-bound-note.html

相关文章

  • 基于Siamese网络的多视角三维人脸重建
       杭州已经阴雨天多日了,期待万里晴空,周末开心的去郊游!​    转入正题,ICCV2019已经过去一段时间,但比较优秀好的文献我们还是值得慢慢去品,值得深入阅读去体会......
  • 选择性细化网络用于高性能人脸检测
    人脸检测人脸检测是自动人脸识别系统中的一个关键环节。早期的人脸识别研究主要针对具有较强约束条件的人脸图象(如无背景的图象),往往假设人脸位置一直或者容易获得,因此人脸检......
  • 全卷积注意网络的细粒度识别
    ​很开心,自平台创办以来,还有这么多兴趣爱好者关注与支持,参与我们学习群的讨论,很感谢您们一路的鼓励与支持。不管怎么样,这个平台会一直为大家无私奉献,分享最值得一看的内容,让......
  • 稀疏&集成的卷积神经网络学习(续)
    昨天跟大家详细的说了分类,定位的一些相关知识,今天把剩下的最后一点知识给大家补充完整,也感谢大家一直的支持,谢谢!昨天的推送告诉大家了分类方案,我们再温习一下:今天我们简单的......
  • 这样可以更精确的目标检测——超网络
    暑假的“尾巴”很多人都抓不住了,因为不知不觉,新的学期要开始了,几家欢喜几家愁,但是会想起学生时代的我,还是特征憧憬新的学期到来,那种激动的心情无法用美丽的辞藻去形容,在此,也......
  • 网络字节序与主机字节序的转换函数实践
    首先我们要对于网络字节序和主机字节序有一个初步的概念。字节序:字节在内存中储存的顺序字节序的种类:(1):大端字节序,数值高位储存在内存的低地址,低位储存在内存的高地址,在 ......
  • 计算机网络原理(TCP/IP协议一):概述
    体系结构原则设计和实现TCP/IP协议族结构和协议Internet/内联网/外联网设计应用标准话进程与Internet体系结构相关的攻击有效沟通取决于使用共同的语言。这一观......
  • Java 面试题 09 - 计算机网络
    TCP&UDPTCP和UDP的区别有什么?TCP面向连接,UDP无连接。TCP提供可靠的传输,在传递数据之前,需要通过三次握手建立连接,在传递数据时,有确认、窗口、重传、拥塞机......
  • Java 面试题 08 - 计算机网络
    进程什么是系统调用?根据进程访问资源的特点,可以把进程的运行状态分为两个级别:用户态:只能读取用户程序的数据;内核态:可以访问几乎一切资源。用户程序基本都运行在用户......
  • 计算机网络--应用层正文
    应用层概念:应用层对应用程序的通信提供服务功能:文件传输、访问和管理电子邮件虚拟终端网络应用模型C/SP2PDNS系统域名:www.baidu.com顶级域名国家......