题目链接:http://poj.org/problem?id=3692 Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7371   Accepted: 3636 Description In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know e…
Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5660   Accepted: 2756 Description In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition to that, some…
题目链接 题意 已知班级有g个女孩和b个男孩,所有女生之间都相互认识,所有男生之间也相互认识,给出m对关系表示哪个女孩与哪个男孩认识.现在要选择一些学生来组成一个集合,使得里面所有人都认识,求此集合最大人数. 思路 二分图的最大团的定义:对于一般图来说,团是一个顶点集合,且由该顶点集合诱导的子图是一个完全图,简单说,就是选出一些顶点,这些顶点两两之间都有边.最大团就是使得选出的这个顶点集合最大.对于二分图来说,我们默认为左边的所有点之间都有边,右边的所有顶点之间都有边.那么,实际上,我们是要在左…
Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5317   Accepted: 2589 Description In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition to that, some…
Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6882   Accepted: 3402 Description In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition to that, some…
题目链接:http://poj.org/problem?id=3692 Description In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition to that, some girls and boys know each other. Now the teachers want to pi…
题目链接: TP 题解: 对于A国,我们发现,最大团一定不大于2.对于B国,发现同奇偶性点之间都有边,不同奇偶性之间可能有边,也就是说对于B国是一个二分图最大团,也就是求B国补图的二分图最大独立集.然后,我们枚举使用A国的人员,将其与B国连接的点做一个补图,跑跑匈牙利即可. [注]大视野上测试点和题面不一样啊!MMP没有t读入,只有一组数据,日哦!! 代码: #include <cstdio> #include <iostream> #include <cstring>…
题意 幼稚园里有m个男孩和n个女孩(m.n范围都是[1,200]),男孩之间相互认识,女孩之间也相互认识,另外有部分男孩和女孩也认识.现在要举办一个活动,选取一些同学,要求所有选取的同学之间两两相互认识. 思路 抽象一下问题就是:在图G中选择一个最大的子图G'(V', E'),使得∑u, v∈V',  (u, v)∈E',这就是最大团问题,也即最大完全子图问题. 一般性的最大团问题是NP问题,但是此题的图比较特殊,有g个点互相相连,b个点也互相相连,也就是说他们的补图是一个二分图.那么我们就可以…
[题目大意] 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目.两个国家看成是AB两国,现在是两个国家的描述:    1.A国:每个人都有一个友善值,当两个A国人的友善值a.b,如果a xor b mod 2=1,那么这两个人都是朋友,否则不是:    2.B国:每个人都有一个友善值,当两个B国人的友善值a.b,如果a xor b mod 2=0或者 (a or…
2744: [HEOI2012]朋友圈 Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目. 两个国家看成是AB两国,现在是两个国家的描述: 1.         A国:每个人都有一个友善值,当两个A国人的友善值a.b,如果a xor b mod 2=1, 那么这两个人都是朋友,否则不是: 2.         B国:每个人都有一个友善值,当…
题意: 有G个女孩,B个男孩.女孩彼此互相认识,男孩也彼此互相认识.有M对男孩和女孩是认识的.分别是(g1,b1),.....(gm,bm). 现在老师要在这G+B个小孩中挑出一些人,条件是这些人都互相认识.问最多可以挑出多少人. 思路: 女孩之间互相认识,男孩之间互相认识,所以我们可以将连边定义为:不认识.即:若两个节点之间有连边,则两个节点互不认识. 故题意即为选出最多的点使得这些点任意两点之间没有连边.即选最少的点覆盖所有边.(二分图最大独立集/二分图最小点覆盖) 代码: vector<i…
Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6191   Accepted: 3052 Description In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition to that, some…
题意:老师在选择一些学生做活动时,为避免学生发生暧昧关系,就提出了四个要求.在他眼中,只要任意两个人符合这四个要求之一,就不可能发生暧昧.现在给出n个学生关于这四个要求的信息,求老师可以挑选出的最大学生数量. 分析: 1.这里的问题可以抽象成求最大独立集:若两人发生暧昧,则在两人中建边,当四个条件中任意一个成立,则将两个人孤立.老师选择的学生必然是两两之间不会发生暧昧的. 公式:最大独立集=顶点总数V-最小点覆盖 2.这里涉及到离散数学中一些集合的概念,理解起来对在下实属不易,所以就先记住吧.(…
//大连网赛 1007 Friends and Enemies // 思路:思路很棒! // 转化成最大二分图 // 团:点集的子集是个完全图 // 那么朋友圈可以考虑成一个团,原题就转化成用团去覆盖怎样最多.团至少是2个点,所以就是n*n/4 #include <bits/stdc++.h> using namespace std; #define LL long long typedef pair<int,int> pii; const double inf = 1234567…
前言:居然三天没有更新了..我的效率实在太低,每天都用各种各样的理由拖延,太差了!昨天的contest依旧不能让人满意,解出的三题都是队友A的,我又卖了一次萌..好吧废话不多说,今天我要纪录的是二分图相关的一些算法及题目,希望通过这种方式加深自己对二分图的理解(其实还没完全理解..) 二分图的最大匹配 二分图最大匹配的题目最重要的是建模,模型建出来后,通过各种定理转化成二分图的最大匹配来做,还是很方便的,下面是几个重要定理: 二分图的最小点集覆盖=二分图的最大匹配 有向图的最小路径覆盖=N-转化…
id=3692">Kindergarten Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4920   Accepted: 2399 Description In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know each other. In addition t…
先考虑B国.容易发现a xor b mod 2=0即二进制末位相同,那么可以据此将所有人分成两部分,每一部分各自是一个完全图.然后再将a or b有奇数个1的边连上,现在需要求的就是这样一个图里的最大团.我们知道最大团=反图最大独立集,这个图的反图显然是一个二分图,那么跑二分图匹配就可以求出这个了. A国同样根据二进制末位分成两部分.显然不可能选择末位相同的两人.于是暴力枚举在A国选择哪些人,只留下B国与其有边的人跑匹配就可以了. 不管复杂度. 在一些非常弱智的地方wa了好长时间,没救. #in…
Graph Coloring Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5775   Accepted: 2678   Special Judge Description You are to write a program that tries to find an optimal coloring for a given graph. Colors are applied to the nodes of the…
我发现我有道叫[SCOI2010]连续攻击游戏的题白写了.. Description There are \(n\) students and \(m\) clubs in a college. The clubs are numbered from \(1\) to \(m\). Each student has a potential \(p_i\) and is a member of the club with index \(c_i\). Initially, each student…
Maximum Clique Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4114    Accepted Submission(s): 2175 Problem Description Given a graph G(V, E), a clique is a sub-graph g(v, e), so that for all…
[题目大意] 有两个国家A和B.存在以下朋友关系: 1.A国:每个人都有一个友善值,当两个A国人的友善值a.b,如果a xor b mod 2=1,那么这两个人都是朋友,否则不是: 2.B国:每个人都有一个友善值,当两个B国人的友善值a.b,如果a xor b mod 2=0 或者 (a or b)化成二进制有奇数个1,那么两个人是朋友,否则不是朋友: 3.A.B两国之间的人也有可能是朋友,数据中将会给出A.B之间“朋友”的情况. 4.在AB两国,朋友圈的定义:一个朋友圈集合S,满足S∈A∪B,…
传送门:http://poj.org/problem?id=3692 Language:KindergartenTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 6831 Accepted: 3374Description In a kindergarten, there are a lot of kids. All girls of the kids know each other and all boys also know…
题意:给定n*m的网格图,上面只有字符'.' 和 数字0-9.其中数字表示这是该格是古老的土地,字符'.'表示该格只是普通的土地. 可以认为一块古老的农田由四联通的所有数字相同的格组成的块,一块普通的农田只由一格组成. 现在要建立最大数目的农田,要求任意两块农田不能相邻.问你能够建立的最大数目. n,m<=10 思路:把四联通的同一个数字缩成一个,每个字符.当做单独的一个,按照相邻四联通情况建图 这样建出来的图不一定是二分图,变成了一个一般图最大独立集问题 考虑一般图最大独立集=建反图后最大团大…
Kindergarten 又是一道自己没思考出来的题 !!!!! 还是老样子,题目去我拉的专题里有. 题目: 给出G给女孩,B给男孩.女孩之间是相互认识的,男孩之间也是相互认识的.如今题目中给出M对男女间会相互认识的关系普,要你计算出男女之间两两都认识的最大人数. 算法: 一開始看到以为是最大团.囧.后来越想越不正确啊.后来看到别人说是求解补图的问题.太深奥了.为了求出满足题目的条件,则要转换成最大独立集来求解. 证明例如以下: 最大独立集是全部点随意两点间都没有连边. 最大团要求:随意两点间都…
题意: 有男生女生,男生都认识双方,女生都认识双方,给出一些男女关系,问最大拿多少个人,使得所有人都认识双方. 思路: 原图最大团=总结点数-[[补图(补图为二分图)]的最大独立集=最大完全子图的顶点数]: //#include<bits/stdc++.h> #include<cstdio> #include<string.h> #include<algorithm> using namespace std; typedef long long LL; co…
传送门 FFF 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 145            测试通过 : 13  题目描述 FFF团,一个异端审判组织,团员活跃在各个角落,每当烧烤节来临的时候,我们都能听到他们传播的那熟悉的旋律: 烧啊~烧啊~烧啊烧啊烧~ (请自行脑补<当>) FFF团成员自带这样一个属性:凭空变出火把与汽油,两者配合起来才能让FFF之火duang的一下烧起来,但是不同的火把与不同的汽油…
我到底怎么建的图为啥要开这么大的数组啊?! 神题神题,本来以为图论出不出什么花来了. 首先要理解'团'的概念,简单来说就是无向图的一个完全子图,相关概念详见度娘. 所以关于团一般都是NP问题,只有二分图例外.而题目中有这样一句话"n座城市可以恰好被划分为不超过两个城市群",并且给出的是没有的边,也就是这个图的补图,两个团就很显然表示这个补图是个二分图(我一开始还考虑1个团咋整后来发现根本不用整= =),模型就变成了二分图的最大独立集,考虑最大独立集=n-最大匹配,那么只要求出删掉哪些边…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2744 首先,求一个图的最大团等价于求它的补图的最大独立集,而二分图的最大独立集 = 总点数 - 最大匹配数: 所以先把图转化成补图,也就是A国奇.偶点各自成团,B国奇.偶点相互连边而其内部无边,还有些A到B的边用邻接矩阵存了: 可以发现A国最多只能选出两个点来,而A国选的那些点会影响B国的最大独立集: 发现A国点很少,不妨暴力枚举! 注意计算最大独立集时减去的数 tmp,原来写的是 tmp…
二分图模型中的最大独立集问题:在二分图G=(X,Y;E)中求取最小的顶点集V* ⊂ {X,Y},使得边 V*任意两点之间没有边相连. 公式: 最大独立集顶点个数 = 总的顶点数(|X|+|Y|)- 最大匹配数 poj3692 题意:幼儿园有G个小女孩和B个小男孩,小女孩彼此之间互相认识,小男孩彼此之间互相认识.一些小女孩与一些小男孩之间也互相认识.现在老师要选一些小朋友做一个游戏,这些小朋友之间必须互相认识.问老师最多可以选多少个小朋友. 解题:满足X集合,Y集合,E边集合的题目可以用二分图模型…
大意: 给定$n$个互不相同的数, 若两个数异或后二进制中$1$的个数不少于$2$则连边, 求最大团. 最大团转为补图最大独立集. 可以发现补图是二分图, 所以直接$dinic$即可. 最大独立集相当于n-最小割, 最终$X$部仍与$S$相连的点和$Y$部不与$S$相连的点构成最大独立集. #include <iostream> #include <sstream> #include <algorithm> #include <cstdio> #includ…