我们来先了解一下什么是最小顶点覆盖: 图G的顶点覆盖是一个顶点集合V,使得G中的每一条边都接触V中的至少一个顶点.我们称集合V覆盖了G的边.最小顶点覆盖是用最少的顶点来覆盖所有的边.顶点覆盖数是最小顶点覆盖的大小. 相应地,图G的边覆盖是一个边集合E,使得G中的每一个顶点都接触E中的至少一条边. 如果只说覆盖,则通常是指顶点覆盖,而不是边覆盖. 在二分图中  :最大匹配数=最小顶点覆盖数: 求二分图最大匹配可以用最大流(Maximal Flow)或者匈牙利算法(Hungarian Algorit…
点击打开链接 Konig定理:二分图的最小顶点覆盖数 = 二分图的最大匹配数 题意: 在N*N的网络中有K颗小行星.小行星i的位置是(Ri, Ci).如今有一个强力的武器可以用一发光束将一整行或一整列的小行星消灭.想要利用这个武器消灭全部的小行星最少须要几发光束? 分析: 以小行星的左右坐标建立二分图,就能够看出是求二分图的最小顶点覆盖数. #include <cstdio> #include <cstring> #include <vector> #include &…
题意:A国家有M个代表,B国有N个代表,其中有K对代表可以进行谈判(一个是A国的,一个是B国的),并且每一个代表至少被包含在其中一对中(也就是说,每个人可以至少找到另外一个人谈判),每一对谈判需要一对电话联系(一对电话联系数目算1),现在使每个人都能进行电话联系的最少联系数目 思路:既然是求最少的联系数目,也就是找最少的对数.可以先找到最大二分匹配(此时的匹配全都不重复,都是一对一的),然后加上剩下未匹配的人得数目即可(因为每个人肯定至少找到另外一个人进行谈判) n:A国代表人数 m:B国代表人…
1.一个有向无环图(DAG),M个点,K条有向边,求DAG的最小路径覆盖数 2.DAG的最小路径覆盖数=DAG图中的节点数-相应二分图中的最大匹配数 3. /* 顶点编号从0开始的 邻接矩阵(匈牙利算法) 二分图匹配(匈牙利算法的DFS实现)(邻接矩阵形式) 初始化:g[][]两边顶点的划分情况 建立g[i][j]表示i->j的有向边就可以了,是左边向右边的匹配 g没有边相连则初始化为0 uN是匹配左边的顶点数,vN是匹配右边的顶点数 左边是X集,右边是Y集 调用:res=hungary();输…
题意: 考虑一个小镇,那里的所有街道都是单向的,并且每条街道都从一个路口通往另一个路口.还众所周知,从一个十字路口开始,穿过城镇的街道,您将永远无法到达同一十字路口,即,城镇的街道没有环. 基于这些假设,您的任务是编写一个程序,以找到可以降落在城镇上的伞兵的最小数量,并以不止一个伞兵不交叉路口的方式(也就是说一个十字路口只能到达一次)访问该镇的所有十字路口.每个伞兵都会降落在一个十字路口,并可以沿着城镇街道访问其他十字路口.每个伞兵的起始十字路口都没有限制. 问你把所有十字路口都走一遍需要的最少…
On Octorber 21st, HDU 50-year-celebration, 50-color balloons floating around the campus, it's so nice, isn't it? To celebrate this meaningful day, the ACM team of HDU hold some fuuny games. Especially, there will be a game named "crashing color ballo…
[1635] Explosion 时间限制: 10000 ms 内存限制: 65535 K 问题描述 there is a country which contains n cities connected by n - 1 roads(just like a tree). If you place TNT in one city, all the roads connect these city will be destroyed, now i want to destroy all the…
最小定点覆盖是指这样一种情况: 图G的顶点覆盖是一个顶点集合V,使得G中的每一条边都接触V中的至少一个顶点.我们称集合V覆盖了G的边.最小顶点覆盖是用最少的顶点来覆盖所有的边.顶点覆盖数是最小顶点覆盖的大小. 相应地,图G的边覆盖是一个边集合E,使得G中的每一个顶点都接触E中的至少一条边.如果只说覆盖,则通常是指顶点覆盖,而不是边覆盖. 在二分图中:最大匹配数=最小顶点覆盖数: Bob enjoys playing computer games, especially strategic gam…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3360 题目大意: 在一个n*m的格子中,每个格子有一个数值,-1表示空,其余表示财宝.每个财宝的数值转换成二进制数, 12个二进制位上数值,从右到左,第i个位是1表示图上相应第i序号位置需要有警卫.所有的要求位置有警卫财宝才安全. 财宝可以被警卫替换.问至少需要替换多少财宝才能保证所有财宝的安全. 解题思路: 需要警戒位置是财宝的讯号对财宝位置讯号建边.由于警戒位置与财宝位置的横纵坐标奇偶相反,可以…
Description Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N grid (1 <= N <= 500). The grid contains K asteroids (1 <= K <= 10,000), which are conveniently located at the lattice points of the…