![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分图
柠檬不酸只是萌
遇 见 最 美 的 自 己 。
展开
-
HDU 4751 — Divide Groups
原题:http://acm.hdu.edu.cn/showproblem.php?pid=4751题意: 有n个人,下面n行; 表示第i个人认识的人,以0结束; 问能不能分成两个组,使得组内任意两个人相互认识;思路: 用0和1表示两个组; b[i]表示第i个人所属的组别; 如果两个人不认识,就是在不同的组;#includ原创 2015-05-10 21:21:54 · 432 阅读 · 0 评论 -
POJ 2594 — Treasure Exploration 最小路径覆盖
原题:http://poj.org/problem?id=2594题意:有n个点,m条有向边;问最少用多少条路径可以覆盖所有的点;路径可以合并,即如果有很多的点在一条单向的路径上,那么就可以用这一条路径覆盖这些点;另外,一个单独的点也算作一条路径;思路:用floyd合并路径;再求最大匹配数;最小路径覆盖 = 顶点数-最大匹配数;#incl原创 2015-07-27 22:50:54 · 471 阅读 · 0 评论 -
HDU 2819 — Swap 二分匹配
原题:http://acm.hdu.edu.cn/showproblem.php?pid=2819题意:给定一个n*n的01矩阵;通过行或列的变换使得主对角线上都为1;问变换次数,以及具体的变换操作;#include#include#include#includeusing namespace std;const int maxn = 110;in原创 2015-07-27 17:08:54 · 379 阅读 · 0 评论 -
POJ 3020 — Antenna Placement 最小边覆盖
原题:http://poj.org/problem?id=3020题意:给出一个n*m的矩阵, ‘ o ’ 表示空地,' * ' 表示城市;现要这些城市都覆盖无线网,在一些城市建基站,一个基站可以至多覆盖相邻的两个城市(这里的两个城市指建了基站的城市和相邻的一个城市);问最少需要建立几个基站;思路:可以想到是最小路径覆盖;此处构建二分图并不是简单的把坐标分为X集原创 2015-07-27 21:34:25 · 494 阅读 · 0 评论 -
HDU 4160 — Dolls 最小路径覆盖
原题:http://acm.hdu.edu.cn/showproblem.php?pid=4160题意:有n个箱子,下面n行给出每个箱子的长、宽、高;大箱子可以嵌套小箱子(要求长宽高均小于外面的箱子,且长宽高一一对应,即长对应长);问露在外面箱子有几个;思路:1的体积小于2,2的体积小于3,那么3套2、2套1,就只有一个箱子3露在外面,可以想到是最小路径覆盖;最原创 2015-07-29 20:50:38 · 447 阅读 · 0 评论 -
HDU 2458 — Kindergarten 最大团
原题:http://acm.hdu.edu.cn/showproblem.php?pid=2458题意:给出女孩人数、男孩人数,以及m条关系;下面m行,u — v,表示女孩u和男孩v相互认识;并且,男孩们之间相互认识,女孩们之间也相互认识;问最多有多少个人,他们相互之间都认识;思路:显然是求最大团;最大团 = 补图的最大独立集;最大独立集 = 顶点数 -原创 2015-07-29 21:06:02 · 473 阅读 · 0 评论 -
HDU 4185 — Oil Skimming 二分匹配
原题:http://acm.hdu.edu.cn/showproblem.php?pid=4185题意:问“##”相邻的两个#,最多有几对;思路:把每个#按顺序标号,二分图的X、Y集就是#的标号数;如果有相邻的#,就将其相连;最后求最大匹配数,因为相邻的#有重复,所以最后的答案是sum/2;#include#include#include#原创 2015-07-31 17:01:31 · 405 阅读 · 0 评论 -
HDU 3829 — Cat VS Dog 最大独立集
原题:http://acm.hdu.edu.cn/showproblem.php?pid=3829题意:每个小盆友都有自己喜欢的动物和不喜欢的动物,对于每一个小盆友来说,如果动物园里有自己喜欢的动物且没有不喜欢的动物,那他就是幸福的;现在要在动物园里去掉一些动物,问最多可以让几个小盆友幸福;第一行给出n、m、p,分别表示猫的数量,狗的数量,小盆友的人数;下面p行,给出每个人喜欢原创 2015-07-31 21:21:20 · 697 阅读 · 0 评论 -
HDU 4751 — Divide Groups 交叉染色判二分图
原题:http://acm.hdu.edu.cn/showproblem.php?pid=4751题意:有n个人;下面n行,表示第i个人所认识的人,以0结束;问能否分成两个集合,使得每个集合均为完全图;思路:也就是说不认识的人一定不在一个集合里;用交叉染色法来判断即可;#include#include#include#includeusin原创 2015-07-31 16:35:01 · 449 阅读 · 0 评论 -
HDU 1281 — 棋盘游戏 最大匹配
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1281题意:求的三个数 — — 1、cas数;2、特殊边的数量(所谓特殊边即不连该条边会使得最大匹配数减少);3、最大匹配数;#include#includeconst int maxn = 110;int n, m, k;int cas = 0;bool link[m原创 2015-07-26 19:32:51 · 335 阅读 · 0 评论 -
HDU 3488 — Tour 费用流/KM算法
原题:http://acm.hdu.edu.cn/showproblem.php?pid=3488题意:有n个点,m条有向带权边;求一些环,使得每个点属于且仅属于一个环;问环边的权值和的最小值;思路:拆点,建图,跑一个费用流;源点到节点,流量为1,花费为0(s, i, 0, 1);节点到节点,流量为1, 花费为边权值(u, v+n, cos, 1);节点原创 2015-05-29 22:32:43 · 538 阅读 · 0 评论 -
HDU 2444 — The Accomodation of Students 二分图+最大匹配
原题:http://acm.hdu.edu.cn/showproblem.php?pid=2444题意:有n个人,m对人相互认识;问能否分成两个组,组内任意两个人之间不认识;若不能,则输出No;若能,则相互认识的两个人一间房,求最多需要几间房;#include#include#include#include#includeusing namesp原创 2015-05-11 14:58:23 · 404 阅读 · 0 评论 -
HDU 3468 — Treasure Hunting BFS+二分匹配
原题:http://acm.hdu.edu.cn/showproblem.php?pid=3468题意:给定一个n*m的地图;.表示空地,#表示墙,*表示黄金;从A走到Z或者从a走到z;要求每次都按最短路走到下一个字母,且走的字母是连续的;若走不到下一个字母或者地图上不存在下一个字母就输出-1;每次走到下一个字母的途中可以拿一个黄金,问最多可以得到多少个黄金;原创 2015-05-11 22:32:27 · 490 阅读 · 0 评论 -
HDU 1150 — Machine Schedule 最小顶点覆盖
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1150题意:有两台机器,k个任务,每台机器有n种状态,从0到n-1,初始状态都为0;接下来k行,(i,x,y)表示任务i 既可以在A机器的x状态下完成,也可以在B机器的y状态下完成;问最少要转换几次状态;思路:最小顶点覆盖 = 最大匹配将能完成同一任务的两个状态建立关系,原创 2015-05-12 21:05:56 · 482 阅读 · 0 评论 -
HDU 1498 — 50 years, 50 colors
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1498题意:有一个n*n的矩阵,每个位置用一个数字表示气球的颜色;每次选择一行或一列爆破颜色相同的气球,若在k次内不能全部爆破则输出该种颜色;若全部都能爆破则输出--1;思路:对于颜色相同的气球(i, j),以i为x集, j为y集,建边;算最大匹配数,若>k则不能全部爆破原创 2015-05-13 20:33:41 · 571 阅读 · 0 评论 -
HDU 1068 — Girls and Boys 最大独立集
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1068题意:给定一些男女生之间的暧昧关系,求一个最大的集合,使得集合中相互之间没有暧昧关系;思路:就是求最大独立集,最大独立集 = 顶点数 - 最大匹配;#include#include#include#include#includeusing nam原创 2015-05-15 14:41:12 · 378 阅读 · 0 评论 -
HDU 3729 — I'm Telling the Truth
原题:http://acm.hdu.edu.cn/showproblem.php?pid=3729题意:给出n个学生说的自己的考试排名范围;问最多有几个人说真话,并且输出字典序最大的一种(所以匹配时从n-1开始);思路:将学生作为X集,整个数轴作为y集,映射就是点和对应区间的每一个数;然后反向求最大匹配;#include #include原创 2015-05-15 21:29:19 · 467 阅读 · 0 评论 -
HDU 1507 — Uncle Tom's Inherited Land*
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1507题意:给定一个n*m的矩阵,以及k个点(表示坏点,无法铺设);接下来K行给出这些点的坐标;问最多可以铺设几个1*2的格子,并输出匹配方式;思路:将能组成1*2方格的两个坐标相连,然后求最大匹配;二维坐标均用一维表示;#include#inclu原创 2015-05-14 21:58:06 · 435 阅读 · 0 评论 -
HDU 1083 — Courses
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1083题意:有p个课程n个学生;学生可以自由选择课程,但一个学生只能代表一个课程;接下来p行,第i行表示第i门课,第一个数m为选该门课的人数,然后列出这m个人;问是否每门课都有学生代表;思路:就是求最大匹配,若匹配数为p,则YES,否则NO;#incl原创 2015-05-17 10:31:22 · 477 阅读 · 0 评论 -
CSU 1531 — Jewelry Exhibition
原题:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1531题意:给定一个n*m的矩阵;矩阵里面有k个点,下面k行给出坐标;有一把刷子,每次可以刷单位长度的一行或者一列;问至少刷几次可以刷完所有的点;思路:将所有的点映射到格子的左下角,即只取坐标的整数部分;再用最大匹配做;#include#i原创 2015-07-24 14:37:48 · 522 阅读 · 0 评论