ZYZBlogZYZ的小窝

网络流相关

ORzyzRO·2024-05-23 07:21·14 次阅读

网络流相关

怎么初三了才发现网络流屁也不会,赶紧来加训。

最大权闭合子图#

定义一张有向图上的闭合子图为不存在从子图内向子图外的连边的子图。

若图中点存在点权,则定义一个闭合子图的权值为其中的点权之和。

而最大权闭合子图就是要求出图中权值最大的闭合子图。

 

建模方式:新建一个源点 S 和一个汇点 T,令 S 向原图中的正权点连边,最大流量为该点的权值,令负权点向 T 连边,最大流量为该点点权的相反数,原图中的边仍然连接,最大流量设为 inf

 

考虑新图的一个割,其等价于一个集合划分模型,即选取一些正权点不选入闭合子图,选取一些负权点进入闭合子图。

则该割的大小为不选入闭合子图的正权点点权之和-选入闭合子图的负权点点权之和

考虑一个闭合子图的权值是选入闭合子图的正权点点权之和+选入闭合子图的负权点点权之和

而两者的和即为正权点点权和

不难发现最大权闭合子图=正权点点权和-新图最小割

 

退流#

这是一种技巧,用于处理一些多次对图进行细微变化后求最大流的问题。

若给图加一条边求网络流则直接加即可,若删边,则需要先去处原流量网络上该边的贡献,设删去的边为 (u,v),则令源点为 u,汇点为 S 跑一遍最大流,再令源点为 T,汇点为 v 跑一遍最大流,而后将 (u,v) 及其反向边流量改为 0,再次令源点为 S,汇点为 T 跑最大流即可。

posted @   ORzyzRO  阅读(14)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
目录