题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=237 二分匹配--最小点覆盖模板题 Tips:用邻接矩阵超时,用数组模拟邻接表WA,暂时只有vector<>过了! 代码如下: //最小点覆盖 = 最大匹配数 //最大独立集 = N - 最大匹配数 #include "stdio.h" //二分匹配,求最小点覆盖 #include "string.h" #include "vector…
游戏高手的烦恼时间限制:1000 ms | 内存限制:65535 KB难度:5描述有一位传说级游戏高手,在闲暇时间里玩起了一个小游戏,游戏中,一个n*n的方块形区域里有许多敌人,玩家可以使用炸弹炸掉某一行或者某一列的所有敌人.他是种玩什么游戏都想玩得 优秀的人,所以,他决定,使用尽可能少的炸弹炸掉所有的敌人. 现在给你一个游戏的状态,请你帮助他判断最少需要多少个炸弹才能炸掉所有的敌人吧. 比如说,下图中X表示敌人 X . X . X . . X . 则,他只需要炸掉第1行与第2列就能炸掉所有的敌…
题意:在方格图上打小怪,每次可以清除一整行或一整列的小怪,问最少的步数是多少,又应该在哪些位置操作(对输出顺序没有要求). 分析:最小覆盖问题 这是一种在方格图上建立的模型:令S集表示“行”,T集表示“列”,那么小怪站的位置w(i,j),就是二分图上的边.如此建图,那么每次清除,就是把与某个点相连的边全部清除,问最少选择多少个点.(这也是最小点覆盖的概念:选择尽量少的点,使得每条边至少有一个端点被选中) 这里有一个König定理:最大二分匹配数==最小覆盖点数. 既然是求最小点覆盖,那么自然是选…
题意:有两台机器A和B,A有n种工作模式(0~n-1),B有m种工作模式(0~m-1),两台机器的初始状态都是在工作模式0处.现在有k(0~k-1)个工作,(i,x,y)表示编号为i的工作可以通过机器A的工作模式x完成,也可以通过机器B的工作模式y完成.机器必须重启后才能更换一种工作模式,问最少的重启次数. 分析: 1.重启次数最少,即工作模式种类最少,即用最少的工作模式完成所有工作. 2.将A的n种工作模式看做n个点,将B的m种工作模式看做m个点,即用最少的点(工作模式)覆盖所有的边(一条边代…
题目237 题目信息 pid=237" style="text-decoration:none; color:rgb(55,119,188)">执行结果 本题排行 讨论区 游戏高手的烦恼 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描写叙述 有一位传说级游戏高手.在闲暇时间里玩起了一个小游戏,游戏中,一个n*n的方块形区域里有很多敌人.玩家能够使用炸弹炸掉某一行或者某一列的全部敌人. 他是种玩什么游戏都想玩得非常优秀的人.所以.他决定.使用尽…
链接: http://poj.org/problem?id=3020 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#problem/M Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5500   Accepted: 2750 Description The Global Aerial Research Centr…
题目 给到一个矩阵,有些格子上是草,有些是水.需要用宽度为1,长度任意的若干块木板覆盖所有的水,并不能覆盖草,木板可以交叉,但只能横竖放置,问最少要多少块板. 分析 经典的矩阵二分图构图和最小点覆盖.无非就是两种方向,横向和竖向.我们把水块连续的编成同一号,那么对于一个点,它会有一个横向编号和纵向编号.我们要覆盖这个点,只需要覆盖这条边即可.于是问题转化成了一个最小点覆盖问题,即在二分图上选出最少的点,使它们能够覆盖所有的边.这里引出König定理. König 定理 二分图中,最小点覆盖=最大…
在一个n*m的草地上,.代表草地,*代表水,现在要用宽度为1,长度不限的木板盖住水, 木板可以重叠,但是所有的草地都不能被木板覆盖. 问至少需要的木板数. 这类题的建图方法: 把矩阵作为一个二分图,以行列分别作为2个顶点集 首先以每一行来看,把这一行里面连续的*编号,作为一个顶点 再以每一列来看,把这一列里面连续的*编号,作为一个顶点 则每一个*都有2个编号,以行看时有一个,以列看时有一个,则把这2个编号连边,容量为1 再建一个源点,连接所有行的编号,一个汇点,连接所有列的编号 这道题要求的是,…
题目链接:[http://acm.hdu.edu.cn/showproblem.php?pid=1498] 题意:给出一个大小为n*n(0<n<100)的矩阵,矩阵中放入m种颜色(标号为1-m),然后对于每种颜色有k次操作,每次操作可以选择一行或者一列,然后把这一行或者这一列的这种颜色全部去掉,求每种颜色k次操作以后,不能去掉的颜色是哪几种颜色,从小到大输出. 最小顶点覆盖要求用最少的点(X或Y中都行),让每条边都至少和其中一个点关联.Knoig定理:二分图的最小顶点覆盖数等于二分图的最大匹配…
Vertex Cover Problem's Link Mean: 给你一个无向图,让你给图中的结点染色,使得:每条边的两个顶点至少有一个顶点被染色.求最少的染色顶点数. analyse: 裸的最小点覆盖问题,二分图的最大匹配,直接套模版即可. Time complexity: O(N^2) view code…