(数学)容斥原理

一、什么是容斥原理?

容斥原理,想必大家都或多或少地了解一点。从小学开始,我们就会遇到类似这样的问题:

班上总共 40 个同学参加期末考试,其中 9 个考了数学满分,12 个考了英语满分,有 5 个同学数学和英语都是满分,那么有多少同学既没有得数学满分,也没有得英语满分?

这样一个问题,应用的就是容斥原理

那如果是三个集合呢?不妨画个图分析一下:

在这里插入图片描述

也是同样的。假设这三个集合分别是 A , B , C A,B,C A,B,C
如果算 ∣ A ∣ + ∣ B ∣ + ∣ C ∣ |A|+|B|+|C| A+B+C,那么这三个集合中,两两的交集中每个元素都被多算了一次。
把它们减掉,就是 ∣ A ∣ + ∣ B ∣ + ∣ C ∣ − ∣ A ∩ B ∣ − ∣ B ∩ C ∣ − ∣ C ∩ A ∣ |A|+|B|+|C|-|A\cap B|-|B\cap C|-|C\cap A| A+B+CABBCCA
但是,这又会导致 A , B , C A,B,C A,B,C 三个集合共同的交集没有被算到。所以再加回去,我们就会得到三个集合的并集元素:
∣ A ∪ B ∪ C ∣ = ∣ A ∣ + ∣ B ∣ + ∣ C ∣ − ∣ A ∩ B ∣ − ∣ B ∩ C ∣ − ∣ C ∩ A ∣ + ∣ A ∩ B ∩ C ∣ . |A\cup B\cup C|=|A|+|B|+|C|-|A\cap B|-|B\cap C|-|C\cap A|+|A\cap B\cap C|. ABC=A+B+CABBCCA+ABC∣.
如果需要求不包含与 A , B , C A,B,C A,B,C 任意一个集合的元素个数,那么再用全集 S S S 的个数减去 ∣ A ∪ B ∪ C ∣ |A\cup B\cup C| ABC 即可。
这是我们小学时常遇到的问题的基本解法。

其实小学时候也接触过容斥原理的对偶形式,这个我们下面会讲到。
我们知道很多的计数问题都可以表述为下面的形式:
S S S 是一个已知的有限集合, P 1 , P 2 , ⋯   , P n P_1,P_2,\cdots,P_n P1,P2,,Pn n n n 个与 S S S 中元素有关的性质。这里,对 S S S 中的每一个元素 x x x 及任意一个性质 P i P_i Pi,均可确定 x x x 是否具有性质 P i P_i Pi。要求 S S S 中不具有任一个性质 P i ( i = 1 , 2 , ⋯   , n ) P_i(i=1,2,\cdots,n) Pi(i=1,2,,n) 的元素个数 N N N

S i = { x ∣ x ∈ S  且  S  具有性质  P i } ( i = 1 , 2 , ⋯   , n ) S_i=\{x|x\in S\ 且\ S\ 具有性质\ P_i\}(i=1,2,\cdots,n) Si={xxS  S 具有性质 Pi}(i=1,2,,n),如果转换为一种更数学化的形式,那么上述问题就会变为:
已知 S S S n n n 个子集 S 1 , ⋯   , S n S_1,\cdots,S_n S1,,Sn,求 ∣ S 1 ‾ ∩ ⋯ ∩ S n ‾ ∣ |\overline{S_1}\cap\cdots\cap\overline{S_n}| S1Sn,这里 S i ‾ \overline{S_i} Si 表示 ∁ S S i \complement_SS_i SSi

容斥原理便是用来解决上述问题的重要定理。如果 N N N 不易直接求出,但对于任意正整数 k k k { 1 , 2 , ⋯   , n } \{1,2,\cdots,n\} {1,2,,n} 的任一非空子集 i 1 , i 2 , ⋯   , i k {i_1,i_2,\cdots,i_k} i1,i2,,ik ∣ S i 1 ∩ ⋯ ∩ S i k ∣ |S_{i_1}\cap\cdots\cap S_{i_k}| Si1Sik 的元素个数易于确定,那么我们就能够根据这些信息求出 N N N,这就是容斥原理的基本思想。

可能上面的这段数学描述比较绕,大概的意思就是说,如果 S 1 , ⋯   , S n S_1,\cdots,S_n S1,,Sn 中任意 k k k 个集合之交的元素个数容易确定,那么我们就可以利用容斥原理确定 N N N 值。

容斥原理的表述如下:

S 1 , S 2 , ⋯   , S n S_1,S_2,\cdots,S_n S1,S2,,Sn S S S 的子集,则
∣ S 1 ‾ ∩ S 2 ‾ ∩ ⋯ ∩ S n ‾ ∣ = ∣ S ∣ − ∑ i = 1 n ∣ S i ∣ + ∑ 1 ≤ i 1 < i 2 ≤ n ∣ S i 1 ∩ S i 2 ∣ − ⋯ + ( − 1 ) k ∑ 1 ≤ i 1 < ⋯ < i k ≤ n ∣ S i 1 ∩ ⋯ ∩ S i k ∣ + ⋯ + ( − 1 ) n ∣ S 1 ∩ ⋯ ∩ S n ∣ |\overline{S_1}\cap\overline{S_2}\cap\cdots\cap\overline{S_n}|=|S|-\displaystyle\sum_{i=1}^n|S_i|+\sum_{1\le i_1<i_2\le n}|S_{i_1}\cap S_{i_2}|-\cdots+(-1)^k\sum_{1\le i_1<\cdots<i_k\le n}|S_{i_1}\cap\cdots\cap S_{i_k}|+\cdots+(-1)^n|S_1\cap\cdots\cap S_n| S1S2Sn=Si=1nSi+1i1<i2nSi1Si2+(1)k1i1<<iknSi1Sik++(1)nS1Sn.

我们把这个式子记作 ( 1 ) (1) (1)


二、如何证明容斥原理?

n = 2 n=2 n=2 3 3 3 的情形比较容易理解。可是,如果是四个及以上子集的容斥原理,我们就不能用韦恩图来表示了,我们要想严谨证明容斥原理,还需要利用组合数的内容。

1. 容斥原理的证明

在证明容斥原理之前,我们首先需要了解容斥原理的思想,其实在小学解题时已经渗透了。
我们再用更为清晰的语言描述一下计算 N N N 的过程:

S S S 中先排除掉具有性质 P i P_i Pi 的元素,剩下的元素个数显然小于 N N N,因为具有多个性质的元素被排除了多次。因此,再对每两个性质 P i 1 P_{i_1} Pi1 P i 2 P_{i_2} Pi2,补充同时具有这两个性质的元素,但是这样算出的元素个数又大于 N N N,因为具有超过两种性质的元素被重复计数 ( 1 + C k 2 ) (1+C_k^2) (1+Ck2) 次,但只被排除了 C k 1 C_k^1 Ck1 次。因此再对每三个性质 P i 1 , P i 2 P_{i_1},P_{i_2} Pi1,Pi2 P i 3 P_{i_3} Pi3,排除同时具有这三个性质的元素,这样得到的数又小于 N N N……
像这样反复地补充(“包含”→“容”)与排除(“排斥”→“斥”),最终得出所求的 N N N 值。

所以,容斥原理就是这样得名的,它同样也称作逐步淘汰公式。

到底如何证明?其实容斥原理的思想已经“揭示”了证明的方法。

证明: ∀ x ∈ S \forall x\in S xS,若 x x x 不属于任一子集 S i ( i = 1 , 2 , ⋯   , n ) S_i(i=1,2,\cdots,n) Si(i=1,2,,n),则 x x x ( 1 ) (1) (1) 的右边的 ∣ S ∣ |S| S 中计入 1 1 1 次,,其余各项中均计入 0 0 0 次。因此这样的 x x x ( 1 ) (1) (1) 的右边计入 1 1 1 次。
x x x 恰属于 S 1 , S 2 , ⋯   , S n S_1,S_2,\cdots,S_n S1,S2,,Sn 中的 k ( k ≥ 1 ) k(k\ge1) k(k1) 个集合,则 x x x ( 1 ) (1) (1) 中的右边总共被计入了 1 − C k 1 + C k 2 − ⋯ + ( − 1 ) k C k k = 0 1-C_k^1+C_k^2-\cdots+(-1)^kC_k^k=0 1Ck1+Ck2+(1)kCkk=0 次.

这是二项式定理的运用。
( 1 − 1 ) 2 = C k 0 − C k 1 + C k 2 + C k 3 − ⋯ + ( − 1 ) k C k k (1-1)^2=C_k^0-C_k^1+C_k^2+C_k^3-\cdots+(-1)^kC_k^k (11)2=Ck0Ck1+Ck2+Ck3+(1)kCkk.

综合上述讨论, ( 1 ) (1) (1) 的右端恰计数了 S S S 中不属于任一个 S i S_i Si 的元素个数,即 ( 1 ) (1) (1) 的左端。

2. 容斥原理对偶形式

∣ S 1 ∪ S 2 ∪ ⋯ ∪ S n ∣ = ∑ i = 1 n ∣ S i ∣ − ∑ 1 ≤ i 1 < i 2 ≤ n ∣ S i 1 ∩ S i 2 ∣ + ⋯ + ( − 1 ) k − 1 ∑ 1 ≤ i 1 < ⋯ < i k ≤ n ∣ S i 1 ∩ ⋯ ∩ S i k ∣ + ⋯ + ( − 1 ) n − 1 ∣ S 1 ∩ ⋯ ∩ S n ∣ |S_1\cup S_2\cup\cdots\cup S_n|=\displaystyle\sum_{i=1}^n|S_i|-\sum_{1\le i_1<i_2\le n}|S_{i_1}\cap S_{i_2}|+\cdots+(-1)^{k-1}\sum_{1\le i_1<\cdots<i_k\le n}|S_{i_1}\cap\cdots\cap S_{i_k}|+\cdots+(-1)^{n-1}|S_1\cap\cdots\cap S_n| S1S2Sn=i=1nSi1i1<i2nSi1Si2++(1)k11i1<<iknSi1Sik++(1)n1S1Sn.

特别地,若 S 1 , S 2 , ⋯   , S n S_1,S_2,\cdots,S_n S1,S2,,Sn 是集合 S S S 的一个分划,则该定理化为加法原理的集合形式: ∣ S ∣ = ∣ S 1 ∣ + ∣ S 2 ∣ + ⋯ + ∣ S n ∣ . |S|=|S_1|+|S_2|+\cdots+|S_n|. S=S1+S2++Sn∣.

加法原理:做一件事,完成它的方法可分为 n n n 个互不相交的类,在第 i i i 类办法中有 m i m_i mi 种不同的方法( i = 1 , 2 , ⋯   , n i=1,2,\cdots,n i=1,2,,n),则完成这件事共有 m 1 + m 2 + ⋯ + m n m_1+m_2+\cdots+m_n m1+m2++mn种不同的方法。
分划(划分) S S S 是一个集合, S 1 , S 2 , ⋯   , S n S_1,S_2,\cdots,S_n S1,S2,,Sn S S S 的一个分划,当且仅当 S 1 , S 2 , ⋯   , S n S_1,S_2,\cdots,S_n S1,S2,,Sn 两两不交,且 S 1 ∪ S 2 ∪ ⋯ ∪ S n = S S_1\cup S_2\cup\cdots\cup S_n=S S1S2Sn=S


三、容斥原理引申出的相关定理

用容斥原理能够估计某些集合的元素个数,例如下面这题:

n n n 是正整数,集合 { 1 , 2 , ⋯   , 2 n } \{1,2,\cdots,2n\} {1,2,,2n} 的一个排列 ( x 1 , x 2 , ⋯   , x 2 n ) (x_1,x_2,\cdots,x_{2n}) (x1,x2,,x2n) 中,如果 ∣ x i − x i + 1 ∣ = n |x_i-x_{i+1}|=n xixi+1=n 对某个 i ( 1 ≤ i ≤ 2 n − 1 ) i(1\le i\le 2n-1) i(1i2n1) 成立,则称这一排列具有性质 P \rm P P。证明:具有性质 P \rm P P 的排列数比不具有性质 P \rm P P 的排列数多。

证明: 命题成立,当且仅当具有性质 P \rm P P 的排列个数大于全部排列的一般,即 1 2 ( 2 n ) ! \dfrac{1}{2}(2n)! 21(2n)!.
k ∈ { 1 , 2 , ⋯   , n } k\in\{1,2,\cdots,n\} k{1,2,,n},记 S k S_k Sk k k k k + n k+n k+n 相邻的排列的集合,则 S = ⋃ k = 1 n S k S=\displaystyle\bigcup_{k=1}^nS_k S=k=1nSk 是具有所有性质 P P P 的排列的集合。由容斥原理对偶形式,易知 ∣ S ∣ ≥ ∑ k = 1 n ∣ S k ∣ − ∑ 1 ≤ k < l ≤ n ∣ S k ∩ S l ∣ (2) |S|\ge\displaystyle\sum_{k=1}^n|S_k|-\sum_{1\le k<l\le n}|S_k\cap S_l|\tag2 Sk=1nSk1k<lnSkSl(2) ∣ S k ∣ = 2 ( 2 n − 1 ) ! |S_k|=2(2n-1)! Sk=2(2n1)! ∣ S k ∩ S l ∣ = 2 2 ⋅ ( n − 2 ) ! |S_k\cap S_l|=2^2\cdot(n-2)! SkSl=22(n2)!

捆绑法,计算 ∣ S k ∣ |S_k| Sk 时,将 k k k k + n k+n k+n 视为一个元素,共有 ( 2 n − 1 ) ! (2n-1)! (2n1)! 种排列,但是还要乘上 k k k k + n k+n k+n 的内部排列 2 ! = 2 2!=2 2!=2 种。
计算 ∣ S k ∩ S l ∣ |S_k\cap S_l| SkSl 是一样的。

( 2 ) (2) (2) 得到 ∣ S n ∣ ≥ n ⋅ 2 ⋅ ( 2 n − 1 ) ! − C n 2 ⋅ 2 2 ⋅ ( 2 n − 2 ) !    = 2 n ⋅ ( 2 n − 2 ) ! ⋅ n > 1 2 ( 2 n ) ! |S_n|\ge n\cdot2\cdot(2n-1)!-C_n^2\cdot2^2\cdot(2n-2)!\\\ \ \qquad\qquad\qquad=2n\cdot(2n-2)!\cdot n>\dfrac{1}{2}(2n)! Snn2(2n1)!Cn222(2n2)!  =2n(2n2)!n>21(2n)!.

这道题表明,容斥原理能够应用于一些不等式问题。

S 1 , S 2 , ⋯   , S n S_1,S_2,\cdots,S_n S1,S2,,Sn 是有限集 S S S 的子集,记 σ 0 = ∣ S ∣ \sigma_0=|S| σ0=S σ k = ∑ 1 ≤ i 1 < ⋯ < i k ≤ n ∣ S i 1 ∩ ⋯ ∩ S i k ∣   ( 1 ≤ k ≤ n ) \sigma_k=\displaystyle\sum_{1\le i_1<\cdots<i_k\le n}|S_{i_1}\cap\cdots\cap S_{i_k}|\ (1\le k\le n) σk=1i1<<iknSi1Sik (1kn)
如果我们希望能够用已知的 σ i ( i = 0 , 1 , ⋯   , n ) \sigma_i(i=0,1,\cdots,n) σi(i=0,1,,n) 给出 ∣ S 1 ‾ ∩ ⋯ ∩ S n ‾ ∣ |\overline{S_1}\cap\cdots\cap\overline{S_n}| S1Sn 或者 ∣ S 1 ∪ ⋯ ∪ S n ∣ |S_1\cup\cdots\cup S_n| S1Sn 的比较精确的上(下)界估计,直接应用容斥原理或者容斥原理的对偶形式往往比较复杂,并且不太容易化简。
我们可以使用下面的定理 3 或定理 4。

1. 定理 3

k k k 是正整数, k ≤ n k\le n kn,若 k k k 是偶数,则 ∣ S 1 ‾ ∩ ⋯ ∩ S n ‾ ∣ ≤ σ 0 − σ 1 + σ 2 − ⋯ + ( − 1 ) k σ k (3) |\overline{S_1}\cap\cdots\cap\overline{S_n}|\le\sigma_0-\sigma_1+\sigma_2-\cdots+(-1)^k\sigma_k\tag3 S1Snσ0σ1+σ2+(1)kσk(3) k k k 是奇数,则 ∣ S 1 ‾ ∩ ⋯ ∩ S n ‾ ∣ ≥ σ 0 − σ 1 + σ 2 − ⋯ + ( − 1 ) k σ k (4) |\overline{S_1}\cap\cdots\cap\overline{S_n}|\ge\sigma_0-\sigma_1+\sigma_2-\cdots+(-1)^k\sigma_k\tag4 S1Snσ0σ1+σ2+(1)kσk(4)

这个定理想要表达的意思就是说,部分和 σ 0 − σ 1 + σ 2 − ⋯ + ( − 1 ) k σ k \sigma_0-\sigma_1+\sigma_2-\cdots+(-1)^k\sigma_k σ0σ1+σ2+(1)kσk 轮流地不小于及不超过 ∣ S 1 ‾ ∩ ⋯ ∩ S n ‾ ∣ |\overline{S_1}\cap\cdots\cap\overline{S_n}| S1Sn 的实际值,这也可以视为容斥原理过程的表述。

如何证明定理 3?其实它的证明可以类似于容斥原理的证明进行,主要思想还是容斥原理的基本过程。

证明: ∀ x ∈ S \forall x\in S xS,若 x x x 不属于任一集合 S i ( i = 1 , 2 , ⋯   , n ) S_i(i=1,2,\cdots,n) Si(i=1,2,,n),则 x x x ( 3 ) (3) (3) ( 4 ) (4) (4) 的左右两边均各计数 1 1 1 次,若 x x x 恰属于 S 1 , ⋯   , S n S_1,\cdots,S_n S1,,Sn r r r 个集合,则 x x x ( 3 ) (3) (3) ( 4 ) (4) (4) 的左边计数 0 0 0 次,而在右边被计数了 1 − C r 1 + C r 2 − ⋯ + ( − 1 ) r C r k = ( − 1 ) k C r − 1 k 1-C_r^1+C_r^2-\cdots+(-1)^rC_r^k=(-1)^kC_{r-1}^k 1Cr1+Cr2+(1)rCrk=(1)kCr1k 次。
显然,上面的式子当 k k k 为偶数时不小于 0 0 0,当 k k k 为奇数时不大于 0 0 0,因此 ( 3 ) (3) (3) ( 4 ) (4) (4) 得证。

* 注意到,如果 σ 1 , ⋯   , σ n \sigma_1,\cdots,\sigma_n σ1,,σn 满足 σ 1 ≥ ⋯ ≥ σ n \sigma_1\ge\cdots\ge\sigma_n σ1σn,则在 k k k 为偶数时,由不等式 ( − 1 ) k + 1 σ k + 1 + ( − 1 ) k + 2 σ k + 2 + ⋯ + ( − 1 ) n σ n = − ( σ k + 1 − σ k + 2 ) − ( σ k + 3 − σ k + 4 ) − ⋯ ≤ 0 (-1)^{k+1}\sigma_{k+1}+(-1)^{k+2}\sigma_{k+2}+\cdots+(-1)^n\sigma_n=-(\sigma_{k+1}-\sigma_{k+2})-(\sigma_{k+3}-\sigma_{k+4})-\cdots\le0 (1)k+1σk+1+(1)k+2σk+2++(1)nσn=(σk+1σk+2)(σk+3σk+4)0 及容斥原理 ∣ S 1 ‾ ∩ ⋯ ∩ S n ‾ ∣ = σ 0 − σ 1 + σ 2 − ⋯ + ( − 1 ) n σ k = n |\overline{S_1}\cap\cdots\cap\overline{S_n}|=\sigma_0-\sigma_1+\sigma_2-\cdots+(-1)^n\sigma_k=n S1Sn=σ0σ1+σ2+(1)nσk=n,可以直接得出 ( 3 ) (3) (3) ( 4 ) (4) (4) 也可以用类似的方法证明。

尽管 σ 1 ≥ ⋯ ≥ σ n \sigma_1\ge\cdots\ge\sigma_n σ1σn 并不是恒成立的,但是在很多情况下都是满足的,例如上面所说的关于排列性质 P \rm P P 的问题。在这些情况下,定理 3 及定理 4 可以更简单地建立关系。

为了估计正负交错的和,可以尝试运用下面的方法:
a 1 , a 2 , ⋯   , a n a_1,a_2,\cdots,a_n a1,a2,,an 为非负实数,若 a 1 ≥ ⋯ ≥ a n a_1\ge\cdots\ge a_n a1an,则 0 ≤ a 1 − a 2 + ⋯ + ( − 1 ) n − 1 a n ≤ a 1 . 0\le a_1-a_2+\cdots+(-1)^{n-1}a_n\le a_1. 0a1a2++(1)n1ana1. S n S_n Sn 表示上式中所说的和,则 n n n 为偶数时, S n = a 1 − ( a 2 − a 3 ) − ⋯ − ( a n − 2 − a n − 1 ) − a n S_n=a_1-(a_2-a_3)-\cdots-(a_{n-2}-a_{n-1})-a_n Sn=a1(a2a3)(an2an1)an
a k ≥ a k + 1 a_k\ge a_{k+1} akak+1 以及 a n ≥ 0 a_n\ge0 an0,可知 0 ≤ S n ≤ a 1 0\le S_n\le a_1 0Sna1
n n n 为奇数时,同理可知有 0 ≤ S n ≤ a 1 0\le S_n\le a_1 0Sna1

下面的定理 4 等价于定理 3。

2. 定理 4(定理 3 的等价形式)

k k k 是正整数, k ≤ n k\le n kn,若 k k k 是偶数,则 ∣ S 1 ∪ ⋯ ∪ S n ∣ ≥ σ 1 − σ 2 + σ 3 − ⋯ + ( − 1 ) k + 1 σ k (5) |S_1\cup\cdots\cup S_n|\ge\sigma_1-\sigma_2+\sigma_3-\cdots+(-1)^{k+1}\sigma_k\tag5 S1Snσ1σ2+σ3+(1)k+1σk(5) k k k 是奇数,则 ∣ S 1 ∪ ⋯ ∪ S n ∣ ≤ σ 1 − σ 2 + σ 3 − ⋯ + ( − 1 ) k + 1 σ k (6) |S_1\cup\cdots\cup S_n|\le\sigma_1-\sigma_2+\sigma_3-\cdots+(-1)^{k+1}\sigma_k\tag6 S1Snσ1σ2+σ3+(1)k+1σk(6)


四、一道高联问题

2010 年的高联 A 卷二试压轴问题
一种密码锁的密码设置是在正 n n n 边形 A 1 A 2 ⋯ A n A_1A_2\cdots A_n A1A2An 的每个顶点处赋值 0 0 0 1 1 1 两个数中的一个,同时在每个顶点处涂染红、蓝两种颜色之一,使得任意相邻的两个顶点的数字或颜色中至少有一个相同。问:该种密码锁共有多少种不同的密码设置?

这道题如果想到要用容斥原理就不是很难。

个人解法(过程不是很规范):

对于相邻两点的设置,如果数值和颜色都不相同,那么我们就称这两点的设置是“相对的”。
设不加约束条件的设置密码锁的集合为 S S S,则 ∣ S ∣ = 4 n |S|=4^n S=4n.
S i = { A i 与 A i + 1 的赋值是“相对的” } S_i=\{A_i与A_{i+1}的赋值是“相对的”\} Si={AiAi+1的赋值是相对的}
这里约定 A n + 1 = A 1 A_{n+1}=A_1 An+1=A1
那么 ∣ S i ∣ = 4 n − 1 |S_i|=4^{n-1} Si=4n1,对 1 ≤ k ≤ n − 1 1\le k\le n-1 1kn1 ∣ S i 1 ∩ ⋯ ∩ S i k ∣ = 4 n − k |S_{i_1}\cap\cdots\cap S_{i_k}|=4^{n-k} Si1Sik=4nk
对于 k = n k=n k=n,若 k k k 是偶数,则 ⋂ i = 1 n S i = 4 \displaystyle\bigcap_{i=1}^nS_i=4 i=1nSi=4
k k k 是奇数,则 ⋂ i = 1 n S i = ∅ \displaystyle\bigcap_{i=1}^nS_i=\varnothing i=1nSi=
由容斥原理, ∣ S 1 ‾ ∩ S 2 ‾ ∩ ⋯ ∩ S n ‾ ∣ = 4 n − C n 1 4 n − 1 + C n 2 4 n − 2 − ⋯ + ( − 1 ) n − 1 C n n − 2 4 1 + ( − 1 ) n C n n ε = 3 n + ( − 1 ) n ε − ( − 1 ) n |\overline{S_1}\cap\overline{S_2}\cap\cdots\cap\overline{S_n}|=4^n-C_n^14^{n-1}+C_n^24^{n-2}-\cdots+(-1)^{n-1}C_n^{n-2}4^1+(-1)^nC_n^n\varepsilon=3^n+(-1)^n\varepsilon-(-1)^n S1S2Sn=4nCn14n1+Cn24n2+(1)n1Cnn241+(1)nCnnε=3n+(1)nε(1)n
其中 ε = { 4 , 2 ∣ k 0 , 2 ∤ k \varepsilon=\begin{cases} 4, 2\mid k\\ 0, 2\nmid k\\ \end{cases} ε={4,2k0,2k
所以 ∣ S 1 ‾ ∩ S 2 ‾ ∩ ⋯ ∩ S n ‾ ∣ = { 3 n + 3 , 2 ∣ k 3 n + 1 , 2 ∤ k |\overline{S_1}\cap\overline{S_2}\cap\cdots\cap\overline{S_n}|=\begin{cases} 3^n+3, 2\mid k\\ 3^n+1, 2\nmid k\\ \end{cases} S1S2Sn={3n+3,2k3n+1,2k

不就这样吗?
但我感觉标答写了一大串。。。


后话

参考:
《奥数教程》(高中第三分册)
知乎 - 密码锁,递推,组合,图
其实我没有学过图论
话说《奥数教程》里的定理 4 似乎写错了,原来是这样的:

k k k 是正整数, k ≤ n k\le n kn,若 k k k 是偶数,则 ∣ S 1 ∪ ⋯ ∪ S n ∣ ≥ σ 1 − σ 2 + σ 3 − ⋯ + ( − 1 ) k σ k (11) |S_1\cup\cdots\cup S_n|\ge\sigma_1-\sigma_2+\sigma_3-\cdots+(-1)^k\sigma_k\tag{11} S1Snσ1σ2+σ3+(1)kσk(11) k k k 是奇数,则 ∣ S 1 ∪ ⋯ ∪ S n ∣ ≤ σ 1 − σ 2 + σ 3 − ⋯ + ( − 1 ) k σ k (12) |S_1\cup\cdots\cup S_n|\le\sigma_1-\sigma_2+\sigma_3-\cdots+(-1)^k\sigma_k\tag{12} S1Snσ1σ2+σ3+(1)kσk(12)

看了一下,感觉不太对, ( − 1 ) k (-1)^k (1)k 指数和下标应该相差1,所以应该改成 ( − 1 ) k + 1 (-1)^{k+1} (1)k+1 或者 ( − 1 ) k − 1 (-1)^{k-1} (1)k1 才对。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值