题目
设集合A={1,2,...,n},X和Y均为A的非空子集,允许X=Y。X中的最大元和Y中的最小元分别记为maxX和minY。求满足maxX>minY的有序集合对(X,Y)的个数。
解答
解法一:正向思路
对于给定的max X = m,集合X是集合{1,2,⋅⋅⋅,m−1}的任意一个子集与{m}的并.
故共有2m−1种取法.
对于满足要求的min Y = k,k ∈{1,2,⋅⋅⋅,m−1},集合Y是集合{k+1,k+2,⋅⋅⋅,n}的任意子集与{k}的并.
故对于每个可能的k的取值,共有2n−k种Y的取法.
因此,对于给定的m,其Y的数目是:
==k=1∑m−12n−k2n⋅k=1∑m−12k12n−2n−m+1
因此,满足max X > min Y的有序集合对(X,Y)的数目是:
==m=1∑n2m−1(2n−2n−m+1)2n⋅m=1∑n(2m−1−1)2n(2n−n−1)
解法二:逆向思路
先计算max X ≤ min Y的有序集合对(X,Y)的数目.
对于给定的max X = m,集合X是集合{1,2,⋅⋅⋅,m−1}的任意一个子集与{m}的并.
故共有2m−1种取法.
又由min Y ≥ m,故Y是{m,m+1,⋅⋅⋅,n}的一个任意非空子集.
共有2n−m+1−1种取法.
因此,满足max X ≤ min Y的有序集合对(X,Y)的数目是:
==m=1∑n2m−1(2n−m+1−1)m=1∑n2n−m=1∑n2m−1n⋅2n−2n+1
由于有序集合对(X,Y)共有(2n−1)(2n−1)=(2n−1)2种.
故满足max X > min Y的有序集合对个数为:
=(2n−1)2−n⋅2n+2n−12n(2n−n−1)