网络流之--最小点权覆盖和最大点权独立集
来源:互联网 发布:搜索下载 python 实现 编辑:程序博客网 时间:2024/06/06 17:59
二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为:二分图最小点权覆盖和二分图最大点权独立集。
二分图最小点权覆盖
从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能小。
建模:
原二分图中的边(u,v)替换为容量为INF的有向边(u,v),设立源点s和汇点t,将s和x集合中的点相连,容量为该点的权值;将y中的点同t相连,容量为该点的权值。在新图上求最大流,最大流量即为最小点权覆盖的权值和。
二分图最大点权独立集
在二分图中找到权值和最大的点集,使得它们之间两两没有边。其实它是最小点权覆盖的对偶问题。答案=总权值-最小点覆盖集。具体证明参考胡波涛的论文。
例:HDU1569
题意:一个m*n的棋盘,每个格子都有一个权值,从中取出某些数,使得任意两个数所在的格子没有公共边,并且所取去出的数和最大。求这个最大的值。
解:
将格子染色成二分图,显然是求二分图的最大点权独立集。将问题转化为二分图最小点权覆盖来求解,最终结果=总权和-最大流。
0 0
- 网络流之--最小点权覆盖和最大点权独立集
- 网络流之--最小点权覆盖和最大点权独立集
- 网络流之最小点权覆盖和最大点权独立集学习
- 网络流之--最小点权覆盖和最大点权独立集
- 最小点权覆盖集&最大点权独立集
- 最小点权覆盖=最大点权独立集
- 二分图的最大点权独立集和最小点权覆盖集
- 最小点权覆盖和最大点权独立集(定义与建模)
- 最小路径覆盖,最小点覆盖,最大独立点集
- 最小路径覆盖,最小点覆盖,最大独立点集
- 最大流=最小割=最小点权覆盖集=sum-最大点权独立集
- HDU1569 方格取数(2)(最大点权独立集 + 最小点权覆盖集 = 总权和)
- 最大流最小割(最大点权独立集)
- 最小路径覆盖,最小点覆盖,最大独立点集,最小边覆盖
- 最小路劲覆盖 最小点覆盖 最大独立集
- 最小支配集、最小覆盖点、最大独立集
- 最小点覆盖,最小边覆盖,最大匹配,最小路径覆盖,最大独立集总结。
- ZOJ 3760 - Treasure Hunting(网络流‘最小割’最大点权独立集)
- linux目录作用详解(超详细,树状排版)
- MapReduce实现TopK
- [leetcode 59] Spiral Matrix II--------数组转圈赋值
- Linux设备驱动之Ioctl控制
- WebView与js交互注意事项
- 网络流之--最小点权覆盖和最大点权独立集
- Java的一些入门总结
- [noi 2004] 郁闷的出纳员
- C++实验2-标准体重
- STM32系列第15篇--灵活的静态存储控制器FSMC
- Maven学习-Nexus搭建
- 派生类的构造函数
- CF_3B_Lorry
- Dev RepositoryItemTreeListLookUpEdit Demo