网络流建模(三)

今天是高二上学年半期考的第3天,晚上一切已经归于平静。在文化课上,虽然之前欠下了很多作业,但这次考试并没有考砸,实在心情不错。虽然名义上已经退役,但我还需要进一步的砥砺。


第一题
P1377
1377

注意到如果对棋盘进行二分图染色,则放置任意一个棋子只会影响到另一个集合里面的选取情况。我们用通过连边 (u,v) 表示选u,v不能同时选,建出二分图,研究答案和此图的关系,不难发现是一个最大点独立集问题。

一般的,我们如果通过建边来表示不兼容关系,则利用最大点独立集的性质解题的关键前提是构造出二分图。
但如果没法建出二分图呢?比如将题目改为选取的点的左上,右上,左下,右下不可取?

发现不能选的集合如果按照常规的染色方法,竟然与被选的点在同一个集合里面——所以二分图就构不出来了。

但是我们可以尝试选用其他染色方法。
比如:
这里写图片描述

可能改成这样还有贪心的做法,但可以通过这样转化为网络流问题。

更一般的:对于选定的点 (x,y) ,
(x+a1,y+b1),(x+a2,y+b2),(x+a3,y+b3),(x+an,y+bn) 都不可取呢?这样可以构造出不可用这种改变染色方法做的情况。


第二题
大致题意是这样的:
“上图是一个3 * 3 的矩阵,方格内的1表示这个地方有敌人,0表示没有敌人,现在我们有很多箭,每根箭可以杀死一行或者一列的敌人,问题是,我们要杀死所有的敌人至要用到几根箭?”

发现一根箭可以杀死多个敌人。要杀死所有的敌人,允许多次伤害(即重叠),这相当于一个覆盖类问题。我们将横纵坐标分为两个集合,对于一个敌人 (x,y) ,在x和y上连一条边,转化为最小顶点覆盖问题。


第三题:最大权闭合图
P1355
1355

《最小割模型在信息学竞赛中的应用》,胡伯涛
这篇论文里面有详细介绍。

总结一下:

1、定义一个闭合子图为有向图的一个点集 |V| ,其中每一个点出边所连接的点都在 |V| 内。
在一个有向无环图中,闭合图该性质反映了一个事件发生时,其他事件发生的必要关系
2、对于最大权闭合子图问题,我们实际要解决的就是一个相互关联的事件集的最大收益问题。
具体建图方法就是兴建源点S向每一个正权点连边,兴建汇点T向每一个负权点连边,容量为权值绝对值。对于原图中其他边,将其容量设为正无穷。
对新图求最小割,则答案为:
Ans=TotalCut
(正权点权值和 Total ,最小割 Cut

在这道题中,以实验和仪器为点,对于实验以收益 Wi 为点权,向所需要的仪器连边。对于仪器以 Ci 为点权。这就转化为了一个最大权闭合子图问题。


参考的一些博客和论文

linkage1
linkage2


这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值