Ramsey定理
定理描述
Ramsey定理要解决的是如下问题:如何正确剥皮
要找这样一个最小的数n,使得 n 个人中必定有 k 个人相识或 l 个人互不相识。
再稍微详细一点的描述是,对于一个完全图Kn,用红蓝两种颜色对每条边染色,每条边只取其中一种颜色,那么n至少要多少,才能使得其中必定有以下两种情况中的至少一种发生:
- 含有:所有边都是红色边的,有k个顶点的子图。
- 含有:所有边都是蓝色边的,有l个顶点的子图。
这样的n可以由k和l确定,表述为n = R(k,l)。
Ramsey证明,对与给定的正整数数k及l,R(k,l)的答案是唯一和有限的。
关于R(3,3)=6的小问题
题目描述:
证明:6个人中至少存在3个人相互认识或者相互不认识
证明思路:
考虑第一个人A,其余5个人分为两类
- F = 与第一个人相互认识
- S = 与第一个人相互不认识
则其中至少有一类有3个成员。
若类F有3个成员,则他们或者相互不认识,或者至少有一对P ,Q相互认识,后面一种情况时P ,Q加上第一个人A就构成3个人相互认识。
否则,类S有3个成员,他们或者互相认识,或者至少有一对L,M相互不认识,后面一种情况时L,M加上第一个人A就构成3个人相互不认识。
HDU 5917 - Instability
2016 ACM-ICPC 长春赛区
传送门
题意:
给定n个点,m条边,然后选择一个点集S,如果里面有一个至少有3个顶点的子集A,A里面的点都不相连,或者都相连,则这个点集S不稳定。
求这样的不稳定的S的个数。
解题思路:
根据Ramsey定理,当S含有6个顶点或者更多的时候,其中必定至少含有一个3个顶点互相相连或者都不相连的子集。
所以要考虑的是顶点数为3,4,5的子集。这部分暴力求解即可。
对于n>=6时的子集个数,运用二项式定理求解:
矬的要死的代码:
|
|