BZOJ1143[CTSC2008]祭祀river 偏序集及Dilworth定理

这里讲一下我对偏序集的认识   如果有偏差可以评论我  我会修改

一:定义 (度娘上copy来的  不想看的可以跳过

设R是非空集合A上的一个二元关系,若R满足: 自反性、反对称性、传递性,则称R为A上的偏序关系。

以下为定义:
非严格偏序,自反偏序
给定集合S,“≤”是S上的二元关系,若“≤”满足:
自反性:∀a∈S,有a≤a;
反对称性:∀a,b∈S,a≤b且b≤a,则a=b;
传递性:∀a,b,c∈S,a≤b且b≤c,则a≤c;
则称“≤”是S上的非严格偏序或自反偏序。
严格偏序,反自反偏序
给定集合S,“<”是S上的二元关系,若“<”满足:
反自反性:∀a∈S,有a≮a;
非对称性:∀a,b∈S,a<b ⇒ b≮a;
传递性:∀a,b,c∈S,a<b且b<c,则a<c;
则称“<”是S上的严格偏序或反自反偏序。
严格偏序与有向无环图(dag)有直接的对应关系。一个集合上的严格偏序的关系图就是一个有向无环图。其传递闭包是它自己。
下面是一些主要的例子[1]  :
自然数的集合配备了它的自然次序(小于等于关系)。这个偏序是全序。
整数的集合配备了它的自然次序。这个偏序是全序。
自然数的集合的有限子集 {1, 2, ..., n}。这个偏序是全序。
自然数的集合配备了整除关系。
给定集合的子集的集合(它的幂集)按包含排序。
向量空间的子空间的集合按包含来排序。
一般的说偏序集合的两个元素 x 和 y 可以处于四个相互排斥的关联中任何一个: 要么 x < y,要么 x = y,要么 x > y,
要么 x 和 y 是“不可比较”的(三个都不是)。全序集合是用规则排除第四种可能的集合: 所有元素对都是可比较的,
并且声称三分法成立。自然数、整数、有理数和实数都关于它们代数(有符号)大小是全序的,而复数不是。这不是说复数不能全序排序;
比如我们可以按词典次序排序它们,通过 x+iy < u+iv 当且仅当 x < u 或 (x = u 且 y < v),
但是这种排序没有合理的大小意义因为它使得 1 大于 100i。按绝对大小排序它们产生在其中所有对都是可比较的预序,
但这不是偏序因为 1 和 i 有相同的绝对大小但却不相等,违反了反对称性。


在数学中,特别是序理论中,是指配备了偏序关系的集合。
这个关系形式化了排序、顺序或排列这个集合的元素的直觉概念。
这种排序不必然需要是全部的,就是说不需要但也可以保证在这个集合内的所有对象的相互可比较性。(在数学用法中,全序是一种偏序)。
偏序集合定义了偏序拓扑



看到这里很多人会一头雾水   因为纯数学的表达太生涩了   那么我就举一个例子

              建立一个二元组(x,y)中的偏序集

             (x1,y1)<=(x2,y2)当且仅当 x1<=x2  与 y1<=y2同时成立

            则集合{(x,y) |x,y∈R }中任选两个元素  (i,j)   (k,l)  不一定有 (i,j)<=(k,l) 或 (k,l)<=(i,j)

            这就是一个偏序集

             偏序集中的元素可以任意推广,但是必须有偏序关系

好了   现在你应该对偏序集有一些认识了吧

          特别的在R中当偏序关系为<=时,任选元素a,b   必有 a<=b 或 b <= a那么我们 称这是一个全序集

二    偏序集中的概念

        链                  :    D 中的一个子集 C   满足 C 是全序集  及C中所有元素都可以比较大小

        反链              :    D 中的一个子集 B   满足 B 中任意非空子集都不是全序集  即所有元素之间都不可以比较大小

        链覆盖          :    若干个链的并集为 D ,且两两之间交集为 ∅ 

        反链覆盖      :    若干个反链的并集为 D ,且两两之间交集为∅

        最长链          :    所有链中元素个数最多的  (可以有多个最长链)

        最长反链      :    所有反链中元素个数最多的 (可以有多个最长反链

        偏序集高度  :    最长链的元素个数

        偏序集宽度  :    最长反链中的元素个数

三  Dilworth定

         最小链覆盖(使链最少)= 最长反链长度 = 偏序集宽度 

         最小反链覆盖=最长链长度=偏序集深度

现在我们看到BZOJ 1143

        题意很明显  是要求图中的最长反链长度  x<=y即为x可以到y   我们可以用Floyd预处理偏序关系

        之后我们可以构造一个二分图 对于一个点x  我们用  x1 x2分别表示它在链中关系

           若 x<=y 则建立(x1,y2)这一条边(不理解这个过程可以见下图)

       BZOJ1143[CTSC2008]祭祀river 偏序集及Dilworth定理_第1张图片

这个是原图   然后构造二分图

BZOJ1143[CTSC2008]祭祀river 偏序集及Dilworth定理_第2张图片

显然 有N个点  二分图中的最大匹配为A   原图最小链覆盖为B

         有N-A=B

如果不懂的话可以看我的证明(可能很不严谨

            若二分图内存在增广路径(x1,y2)  则  x1   y2都没有连边   x为一条链的末尾   y为一条链的开始  又有 x<=y  所以当前的覆盖不是原图的最小链覆盖


那么对于这一题思路就已经讲完了   复杂度是O(n^3)的


你可能感兴趣的:(偏序集)