网络流之最小割模型:
本篇介绍了最小割的模型,如果想继续探究此模型,请阅读胡伯涛的《最小割模型在信息学竞赛中的应用》,本篇不会给与任何证明,(因为我不会。。。
首先,我们知道有一个东西叫:最大流最小割定理。即最大流的流值等于最小割容量。
网络流模型经典模型貌似有三个:最大权闭合子图,二分图最小点权覆盖集,二 分图最大点权独立集。
- 最大权闭合子图
介绍:
有一些点,每个点有点权,点权可正可负。
对于图中的任意一条有向边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-元。
找到小刚删除图中所有边需要的最小花费。
- 二分图最大点权独立集
介绍:给出一个二分图,每个点有一个非负点权
方法:
要求选出一些点构成一个独立集,问点权最大是多少
可以感性理解为总和 - 二分图最小点权覆盖
然后按照二分图最小点权覆盖那样建图,用总和减去。
例题:方格取数
来源:https://www.cnblogs.com/gzygzy/p/10356392.html