一些简单的网络流模型

一、最大权闭合图

对于一个图(V, E)由点集V和有向边集E组成,每个点有一定权值,对于一个合法子集,若有一条有向边(u,v)并且u在子集中,则v也必须在子集中,求子集中所有元素权值和最大的子集

 

分析:考虑每个点有两种状况,选和不选,所以考虑最小割,但是要求最大费用;

先假设取了所有正权点,从原点向所有正权点连边,从所有负权点向汇点连边,容量为权值的绝对值,

对于一个割[S,T](S内的点表示选择了的点),

正权点在S内,表示选了这个点,与S相连的边没有被割,若在T内,表示这个点没选,此时权值应减去这条割边,

同理,对于负权点,一开始没有选他,若在S内,则到T的连边被割,权值减去费用,若在T内,仍然没有被选,与T的连边没有被割,则权值不变

 

考虑限制

按照上面的方式选出来的S内的点在原图中是不能与T中的点有边的,换一种说法,与T中连边的代价是INF,那么对于原图中的有向边连一条起点终点相同容量为INF的边,若起点属于S终点属于T则这条边在割中,代价为INF,这样最小割中必然不包含这条边,也就是说,最小割分得的S集所在的点一定没有与T中的点的连边。

实际上是很好理解这种一一对应关系的,严格的证明可以参见《最小割模型在信息学竞赛中的应用》——胡伯涛

 

另外 为什么要说与T中连边的代价是INF呢?

因为这里可以灵活一下,可以不是INF,比如bzoj1391 [Ceoi2008]order这道题把INF改成租借的费用就可以啦。

 

二、二分图的最小点权覆盖集

对于一个图(V, E)由点集V和无向边集E组成,每个点有一定权值,对于一个合法子集,若有一条无向边(u,v)则u,v至少有一个点在子集中,求子集中所有元素权值和最小的子集

设二分图的两边为X和Y,并且下面提到的(u,v)u属于X,v属于y

对于一条边(u,v),从s到u连一条容量为val(u)的边,从v到t连一条容量为val(v)的边对于一个割[S,T],从u到v也连一条边,由于割的性质是不存在一条从S到T的路径,所以这三条边至少有一条被割,我们不希望u到v的边在最小割中被割,所以给流量为INF

若Y中的点在S内,则与T的连边必然被割(代表选了这个点),在T内则没有被割(代表没选这个点),

若X中的点在T内,则与S的连边必然被割(代表选了这个点),在S内则没有被割(代表没选这个点)。

将所有的X在T中的点和Y在S中的点选出来,一定是一个覆盖集,因为s->u和u->t两条边至少有一条被割

那么最小割就是答案啦

 

特别地,如果每个点权都是1的话,我们发现建的图和二分图最大匹配建的图是一样的,这也是二分图最大匹配数=最小点覆盖的原因。

 

三、二分图最大权独立集

容易证明每一个覆盖集的补集都是一个独立集,每个独立集的补集也是一个覆盖集,所以用总的权值减去最小覆盖集就行啦。。

特别地,这也是为什么二分图最大匹配数=n-最大独立集的原因。

转载于:https://www.cnblogs.com/showson/p/5046436.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值