最小割基本模型及解决方案
来源:互联网 发布:mac死机怎么办 编辑:程序博客网 时间:2024/06/10 19:15
最小割概念
割:如果从图G中删除一个弧的集合c{f},让S流不到T,那么这个集合成为图G的一个割。记做C(S,T),S,T为点集。
正向割边:对于集合c中的一条弧f{u,v}(u指向v)如果u∈S,v∈T则成为正向割边。
逆向割边:对于集合c中的一条弧f{u,v}(u指向v)如果u∈T,v∈S则成为逆向割边。
割的容量:割C{S,T}中所有正向割边的容量和称为割的容量。
最小割:容量最小的割Ci{S,T}即为图G 的最小割。
最大流最小割定理:图G的最大流=ci的容量。
基本模型
1.最小冲突数
- 模型:这类问题通常为,初始两个集合,每个人第一意愿为赞成/不赞成,为照顾他人情绪而产生类似“跟票”行为,求最后违反自己意愿人数最少。
- 构图方法:
①: S向每个赞成的连有向边,容量为1;
②:每个不赞成的向T连有向边,容量为1;
③:每对朋友之间,若两者意愿不同,则赞成的一方向不赞成的一方连有向边,容量为1;
即:若有人违背了自己的意愿,割掉。最小割即为答案数。 - 题目:BZOJ1934,2768等。
2.最大权闭合子图
- 定义:在一个图中,我们选取一些点构成集合,记为V,且集合中的出边(即集合中的点的向外连出的弧),所指向的终点(弧头)也在V中,则我们称V为闭合图。最大权闭合图即在所有闭合图中,集合中点的权值之和最大的V,我们称V为最大权闭合图。
- 模型:
①’有向无环图(DAG)问题,反映了事件间的必要条件关系:一个事件的发生,它所需要的所有的前提都要发生。EXP:选课,一些课程需要以另一些课程为基础,若给课程打分,最大权闭合图对应获利最大或效率最高的选课计划。
②’带圈的有向图。EXP:工程分期类问题,项目间有相互依赖关系,也可以用最大权闭合图解决,将最先应完成的选出来作为第一期。 - 构图方法:
①:S向每个正权点,容量为点权;
②:每个负权点向T,容量为点权绝对值;
③:依赖关系之间单向连接,容量为INF(表示选择了u就一定要选择v,如果割掉了INF,一定不是最小割);
通常正权点代表收益,负权点代表成本。
正点权和-最小割=答案。 - 证明:
以下证明引用出处
证明最小割所产生的两个集合中,其源点S所在集合(除去S)为最大权闭合图。
首先我们记一个简单割的容量为C,且S所在集合为N,T所在集合为M。 则C=M中所有权值为正的点的权值(即S与M中点相连的边的容量)+N中所有权值为负的点权值的绝对值(即N中点与T中点相连边的容量)。记(C=x1+y1);(很好理解,不理解画一个图或想象一下就明白了)。 我们记N这个闭合图的权值和为W。 则W=N中权值为正的点的权值-N中权值为负的点的权值的绝对值。记(W=x2-y2); 则W+C=x1+y1+x2-y2。 因为明显y1=y2,所以W+C=x1+x2; x1为M中所有权值为正的点的权值,x2为N中权值为正的点的权值。 所以x1+x2=所有权值为正的点的权值之和(记为TOT). 所以我们得到W+C=TOT.整理一下W=TOT-C. 到这里我们就得到了闭合图的权值与简单割的容量的关系。 因为TOT为定值,所以我们欲使W最大,即C最小,即此时这个简单割为最小割,此时闭合图为其源点S所在集合(除去S)。得证。
- 题目:BZOJ1391,NOI 2006最大获利,GDKOI2016寻宝 等。
3.最小点割集
- 定义:无向(有向)图G中,给定源点s和终点t,至少要删去多少个点(具体一点,删哪些点),使得s和t不连通。这个问题就是点连通度,也叫最小点割集。
- 构图方法:
①:拆点,将原图中点v拆为v’和v”,v’到v”连边,容量为1;
②:原图每条有向边(x,y),x”到y’连边,容量为INF;
③:若为无向边,则再从v”到v’连边,容量为INF; 题目:POJ1815。
4.矩阵型/网格型
建模方法:通常有黑白染色,拆点等方法。通常此类与最小割结合的问题都有:收获的同时有代价,这样就可以转为最大权闭合子图。
- 题目推荐:HNOI2013切糕,BZOJ2132圈地计划。
5.最大密度子图
二分答案ans。
sumE-ans*sumV取最大值,若 >=0 就满足条件。
由于边和点有依赖关系,一条边依赖于两点,所以可转化为最大权闭合子图。
边为正权1,点为负权ans。判断(正权和-最小割)的正负。
0 0
- 最小割基本模型及解决方案
- 最小割 模型
- 最小割常见模型
- 最小割模型汇总
- HDU 3987 最小割模型
- POJ 3308 最小割模型
- hdu 3879 最小割模型
- bzoj 1324(最小割模型)
- poj3469(*最小割模型)
- HDU3491 网络流最小割模型
- HDU 4037 Matrix 最小割模型转换
- UVa 1515 简单最小割模型
- spoj COCONUTS (最小割模型)
- POJ 3469 最小割经典模型
- 最小割模型(hdu5076 2014鞍山)
- 最小割
- 最小割
- 最小割
- 【Dubbo二】Zookeeper安装与配置
- C# File.Copy 工作记录
- (POJ1129)Channel Allocation <涂色问题问最少颜色数 剪枝搜索 > || <四色定律>
- Oracle数据库学习12之函数
- spring源码分析之MVC简介
- 最小割基本模型及解决方案
- iOS 很酷的动画效果
- 4518: [Sdoi2016]征途
- android gradle学习的新知识 笔记一下
- 纯备忘 caffe依赖包安装
- Android 简单实现显示密码效果
- AS 多渠道打包 generateADebugSources
- iOS - PhotoKit框架使用说明(转)
- Android 新版NDK环境搭建(免Cygwin)