Csdn:
EMail:[email protected]
刚刚刷了一个OJ题目,其链接如下:
http://acm.nyist.net/JudgeOnline/problem.php?pid=220
我在此,我并不想对这个OJ网站本身进行讨论,这个OJ肯定不如POJ,ZOJ有名,但是,上面的题目还是不错的,适合我这种菜逼。
拿到这个题目的第一反应就是:
(1) 把那些什么房间的东西全部抽象成区间
(2) 原问题等价于从这些区间集合中一次能够取出一些互相不相交的区间,问最少取多少次能把所有的区间取完。
如果我们用更专业的术语描述,则可描述如下,设S是一个区间集合,现在要对S进行划分,其中每一个划分出来的子集中没有任何两个区间相交,问最少的划分数是多少,显然,我们划分成n个是可以的(一个子集只有一个区间)。
当我把题目抽象到这里的时候,我就想到了一个定理及其对偶定理:
定理:
一个集合的链最大长度为k,那么它的反链划分个数至少为k,并且,可以取到k。
对偶定理(Diworth对偶):
一个集合的反链最大长度为k,那么它的连划分个数至少为k,并且,可以取到k。
原来题目的解:
显然等价于我们从区间集合中选出最多的区间,使得其中任何两个区间都有交集。(根据上面的定理,最少的反链划分数目就是最大的链长度)
这也只是对题目进行了变形而已,事实上,有一个非常“显然”的结论在这里面放着,就是如下的引理:
引理:
一个区间的集合中任意两个区间都有交集(公共点),那么这些所有区间的交也不为空(及有一个公共点,被所有的区间包含)。
证明:
由数学归纳法显然能证明。
做完此题的时候,我还想到了组合数学中一个经典的定理-----海莱定理,这个定理如下:
平面上任何三个凸包有公共点,那么,这些所有的凸包都有一个公共点。
刚刚区间那个是一条线上的定理,现在这个海莱定理是一个平面上的定理。那么,我们是不是也有如下的关于空间的定理呢?
猜想:(请允许我叫他猜想,因为我自己也没能证明)
空间上的一些凸体,其中任何四个有公共点,那么这些所有的凸体都有公共点。
版权所有:转载请说明出处,谢谢。