网络流相关定理

一.最小路径覆盖

有向无环图的最小路径覆盖问题包括两种
(设G是一个有向无环图,S是G的一个路径集合):

(1)最小点路径覆盖:满足对于G中所有的点i,i且只在S中的一条路径中出现,求S的最小容量;
简而言之:最少有几条路径,把所有点覆盖,并且所有点只被覆盖一次
处理方式:
建立一个新图,将G中的每个点i在新图中拆成两个点i’、i’’。
若G中存在边<i, j>则在新图中连边<i’, j’’>,显然新图是一个二分图
建立一个超级源点sp,超级汇点tp。
连接所有点<sp,i’,1>,<i’,sp,0>,<i’’,tp,1> , <tp,i’’,0>。
构建成网络流模型,跑一遍最大流
则(N-新网络流图的最大流)就是最小点路径覆盖值。(N为点的个数)

(2)最小边路径覆盖:满足对于G中所有的边E,E且只在S中的一条路径中出现,求S的最小容量;
简而言之:最少有几条路径,把所有边覆盖,并且所有边只被覆盖一次
处理方式:
对于图中的每个点i,设D[i]为(i的入度-i的出度)的值,按照D[i]将图中的点分类:
D[i]<0的称为“入少出多”的点,D[i]>0的称为“出少入多”的点,D[i]=0的称为“入出相等”的点。
则有:
定理 有向无环图中最小边路径覆盖的值等于图中所有“入少出多”的点的D值之和。

二.最大流最小割定理

割:把一个图的所有顶点分为2个集合,保证起点和终点在不同的集合中
(如果把割的所有边中 从起点集合到终点集合的所有边 去掉就不可能从起点到终点)
割的容量就等于:割的 所有边 中 从起点集合流向终点集合 的所有边 的 容量 和
对于任意一个割,割的容量大于等于这个图的最大流,
这个图的最小割就等于最大流

三.最小点覆盖

二分图中,选取最少的点数,使这些点和所有的边都有关联(把所有的边的覆盖),叫做最小点覆盖。
简而言之:最少有多少个点,把图的所有边覆盖
最小点覆盖数 = 最大匹配数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值