偏序关系

【离散数学】 SDUT OJ 偏序关系

半腔热情 提交于 2020-01-13 13:52:46
偏序关系 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 给定有限集上二元关系的关系矩阵,确定这个关系是否是偏序关系。 Input 多组测试数据,对于每组测试数据,第1行输入正整数n(1 <= n <= 100),第2行至第n+1行输入n行n列的关系矩阵。 Output 对于每组测试数据,若为偏序关系,则输出yes,反之,则输出no。 Sample Input 4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 4 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 Sample Output yes no Hint 偏序关系形式定义:设R是集合A上的一个二元关系,若R满足自反性、反对称性、传递性,则称R为A上的偏序关系。 #include <stdio.h> #include <stdlib.h> int main() { int i, j, k, n; int a[110][110]; while(~scanf("%d", &n)) { int flag = 1; for(i=0; i<n; i++) { for(j=0; j<n; j++) { scanf("%d", &a[i][j]); } } for(i=0; i<n; i++)

9.6偏序关系

谁都会走 提交于 2019-12-04 13:41:18
9.6偏序关系(Partial Order) 偏序(Partial Order) 定义: 偏序(Partial order):定义在A上的集合R是偏序关系iff(当且仅当)其具有以下性质: 自反性(reflexive) 反对称性(antisymmetric) 传递性(transtive) NOTE: R记作≼,注意这里的≼不必是指一般意义上的“小于或等于”, 若有x≼y,我们也说x排在y前面(x precedes y). 偏序集(Partially ordered set)/(或简写为poset): 集合A及定义在其上的偏序关系R一起称为偏序集,记作(A, R),A中的元素也称为偏序集中的元素. 线序/全序(Linear Order) 如果(A, ≤)是一个偏序集(poset),那么对于其中的元素a和b, a≤b 或者 b≤a,那么称为可比的(Comparable) 即不存在a≤b,也不存在b≤a,那么称为不可比的(Imcomparable) 如果偏序集A中每对元素(every pair of elements)都是可比的,那么我们就称A是线序集合(linearly ordered set)或全序集合(totally ordered set),称偏序关系R为线序或全序关系(linear order). 我们也称A为链(chain). 良序集(Well-ordered set) 定义

[TJOI2015]组合数学

筅森魡賤 提交于 2019-11-30 13:10:24
题目 学习了 \(\rm Dilworth\) 定理,即 偏序集的最小全序集划分等于最大反链长度 定理的内容看起来非常自闭,偏序集、全序集和反链都是个啥 偏序集其实非常常见,经典的二维偏序、三维偏序其实就是最基本的偏序关系,比如说一个二元组集合 \(A\) ,对于 \((x_1,y_1),(x_2,y_2)\in A\) ,当 \(x_1\leq x_2,y_1\leq y_2\) 时我们称 \((x_1,y_1)\leq (x_2,y_2)\) ,则 \((A,\leq )\) 为一个偏序集 如果存在 \(x_1\leq x_2,y_1>y_2\) ,我们就无法在 \((A,\leq)\) 这个偏序集中定义 \((x_1,y_1),(x_2,y_2)\) 的大小关系,那么就称 \((x_1,y_1),(x_2,y_2)\) 在 \((A,\leq)\) 中不可比 全序集是偏序集的一个子集,如果 \(B\subseteq A\) ,且 \(\forall (x_1,y_1),(x_2,y_2)\in B\) ,存在 \((x_1,y_1)\leq (x_2,y_2)\) 或 \((x_2,y_2)\leq (x_1,y_1)\) ,即两两元素可比,则称 \(B\) 为 \(A\) 的一个全序集 如果对于 \(A\) 的一个子集,其中元素两两不可比,则称该子集为一个反链

反演初步和其他

↘锁芯ラ 提交于 2019-11-28 17:42:48
参考了刘汝佳老师《算法艺术与信息学竞赛》。 离散变换与反演 有些时候,我们所求解问题的答案可以表示成一个类似前缀和的形式: \(f(x)=\sum a_ig(i)\) 。 更多时候, \(g(x)\) 是我们所需的答案,不易求出;而 \(f(x)\) 则可以通过另一种更好的方式求出来。如何根据 \(f(x)=\sum a_ig(i)\) 来推导出 \(g(x)\) 的解析式呢?这个反推的过程,我们可以叫做 反演 。我们用一个例子来具体说明。 我们已经用容斥原理得出了错排问题的答案,即在 \(n\) 个元素中的所有排列中,第 \(i(1 \leq i \leq n)\) 个元素不是 \(i\) 的排列数目 \(D_n\) 。现在我们来尝试用反演的方法。 我们反过来求:有且仅有 \(k\) 个元素处在正确位置的方案数为 \(\dbinom{n}{k}D_{n-k}\) ,即剩余的 \(n-k\) 个元素不允许再排在原来的位置。 易知,所有排列里,一定存在 \(0,1,\cdots,n\) 个元素恰好排在其位置的方案。我们把他们加起来得到: \[ P_n=n!=\sum_{k=0}^n \dbinom{n}{k}D_{n-k} \tag{*} \] 反演(解出 \(D_n\) )得到: \[ D_n=n!\sum_{r=0}^n{(-1)^r \frac{1}{r!}} \tag{**}