最小割模型

网络流之最小割模型:
本篇介绍了最小割的模型,如果想继续探究此模型,请阅读胡伯涛的《最小割模型在信息学竞赛中的应用》,本篇不会给与任何证明,(因为我不会。。。

首先,我们知道有一个东西叫:最大流最小割定理。即最大流的流值等于最小割容量。

网络流模型经典模型貌似有三个:最大权闭合子图,二分图最小点权覆盖集,二 分图最大点权独立集。

  • 最大权闭合子图

介绍:
有一些点,每个点有点权,点权可正可负。
对于图中的任意一条有向边i和j,代表如果选择了点i就必须选择点j
你需要选择一些点使得得到权值最大。

做法:
先把答案加上所有的正权值
然后从源点向所有正权值的点连一条流量为权值的边
所有负权值的点向汇点连一条流量为权值相反数的边
原图中所有的限制关系(i,j)均建一条从i到j的流量为inf的边
最终答案减去这个图的最小割即可

例题:NOI2006 最大获利,[NOI2009]植物大战僵尸

  • 二分图最小点权覆盖

介绍:
点覆盖集:点覆盖集是无向图 的一个点集,使得该图中所有边都至少 有一个端点在该集合内。形象地说是若干个点“覆盖”住了 与它们邻接的边,这些边恰好组成了原边集。
给出一个二分图,每个点有一个非负点权
要求选出一些点构成一个覆盖,问点权最小是多少 。

方法:设二分图的两个点集为A,B
从源点向A集合中的点连一条流量为对应点权的边
B集合中的点向汇点连一条流量为对应点权的边
原图中所有的边(Ai,Bj)均建一条从Ai到Bj的流量为inf的边
最终答案就是最小割。

例题:
是论文集里的一道题。在poj2125可以提交
小明和小刚正在玩如下的游戏。首先小明画一个有N个顶点,M条边的有向图。然后小刚试着摧毁它。在一次操作中他可以找到图中的一个点,并且删除它所有的入边或所有的出边。
小明给每个点定义了两个值:Wi+和Wi-。如果小刚删除了第i个点所有的入边他要给小明付Wi+元,如果他删除了所有的出边就需要给小明付Wi-元。
找到小刚删除图中所有边需要的最小花费。

  • 二分图最大点权独立集

介绍:给出一个二分图,每个点有一个非负点权

方法:
要求选出一些点构成一个独立集,问点权最大是多少
可以感性理解为总和 - 二分图最小点权覆盖
然后按照二分图最小点权覆盖那样建图,用总和减去。

例题:方格取数

猜你喜欢

转载自www.cnblogs.com/gzygzy/p/10356392.html