在计数时,必须注意有没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠情况,把包含于某内容中的数目先计算出来,然后把计数时重复计算的数目排斥出去,使得计算结果既无遗漏又无重复,这种计数的方法称为容斥原理。百度百科
∣ A ∪ B ∣ = ∣ A ∣ + ∣ B ∣ − ∣ A ∩ B ∣ |A \cup B|=|A|+|B|-|A \cap B| ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣
∣ A ∪ B ∪ C ∣ = ∣ A ∣ + ∣ B ∣ + ∣ C ∣ − ∣ A ∩ B ∣ − ∣ A ∩ C ∣ − ∣ B ∩ C ∣ + ∣ A ∩ B ∩ C ∣ |A \cup B \cup C|=|A|+|B|+|C|-|A \cap B|-|A \cap C|-|B \cap C|+|A \cap B \cap C| ∣A∪B∪C∣=∣A∣+∣B∣+∣C∣−∣A∩B∣−∣A∩C∣−∣B∩C∣+∣A∩B∩C∣
推出:
⋃ i = 1 n A i = ∣ ∑ i = 1 n A i ∣ − ∣ ∑ i < j A i ∩ A j ∣ + ∣ ∑ i < j < k A i ∩ A j ∩ A k ∣ − ⋯ + ( − 1 ) n − 1 ∣ ⋂ i = 1 n A i ∣ \bigcup_{i=1}^{n} A_{i}=\left|\sum_{i=1}^{n}A_{i}\right|- \left|\sum_{i < j} A_{i} \cap A_{j}\right|+\left|\sum_{i<j<k}A_{i} \cap A_{j} \cap A_{k}\right|-\cdots+(-1)^{n-1}\left|\bigcap_{i=1}^{n} A_{i} \right| i=1⋃nAi=∣∣∣∣∣i=1∑nAi∣∣∣∣∣−∣∣∣∣∣i<j∑Ai∩Aj∣∣∣∣∣+∣∣∣∣∣∣i<j<k∑Ai∩Aj∩Ak∣∣∣∣∣∣−⋯+(−1)n−1∣∣∣∣∣i=1⋂nAi∣∣∣∣∣
设 I k I_k Ik是 { 1 , 2 , … , n } \{1,2,\dots,n\} {1,2,…,n}的所有 k k k元素子集构成的集合,则
∣ ⋃ i = 1 n A i ∣ = ∑ k = 1 n ( − 1 ) k − 1 ∑ I ∈ I k ∣ ⋂ i ∈ I A i ∣ \left|\bigcup_{i=1}^{n} A_{i}\right|=\sum_{k=1}^{n}(-1)^{k-1} \sum_{I \in I_{k}}\left|\bigcap_{i \in I} A_{i}\right| ∣∣∣∣∣i=1⋃nAi∣∣∣∣∣=k=1∑n(−1)k−1I∈Ik∑∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣
设 S S S为有穷集, P 1 , P 2 , … , P m P_1,P_2,…,P_m P1,P2,…,Pm是 m m m个性质。 S S S中的任何元素或者具有性质 P i P_i Pi,或者不具有性质 P i ( i = 1 , 2 , … m ) P_i(i=1,2,…m) Pi(i=1,2,…m),两种情况必居其一。令 A i A_i Ai表示 S S S中具有性质 P i P_i Pi的元素构成的子集,则 S S S中不具有性质 P 1 , P 2 , … , P m P_1,P_2,…,P_m P1,P2,…,Pm的元素为
∣ ⋂ i = 1 m A ‾ i ∣ = ∣ S ∣ − ⋃ i = 1 m A i = ∣ S ∣ − ∑ i = 1 m ∣ A i ∣ + ∑ i < j ∣ A i ∩ A j ∣ − ∑ i < j < k ∣ A i ∩ A j ∩ A k ∣ + ⋯ + ( − 1 ) m ∣ ⋂ i = 1 m A i ∣ \begin{array}{l}{\left|\bigcap_{i=1}^{m} \overline{A}_{i}\right|=\left|S\right|-\bigcup_{i=1}^{m} A_{i}} \\ {=|S|-\sum_{i=1}^{m}\left|A_{i}\right|+\sum_{i<j}\left|A_{i} \cap A_{j}\right|-\sum_{i<j<k}\left|A_{i} \cap A_{j} \cap A_{k}\right|+\cdots+(-1)^{m}\left|\bigcap_{i=1}^{m} A_{i}\right|}\end{array} ∣∣⋂i=1mAi∣∣=∣S∣−⋃i=1mAi=∣S∣−∑i=1m∣Ai∣+∑i<j∣Ai∩Aj∣−∑i<j<k∣Ai∩Aj∩Ak∣+⋯+(−1)m∣⋂i=1mAi∣
m m m和 n n n是正整数,且 m ≥ n m \geq n m≥n,则将 m m m个元素的集合映射到 n n n个元素的集合的函数个数有
n m − C ( n , 1 ) ( n − 1 ) m + C ( n , 2 ) ( n − 2 ) m − ⋯ + ( − 1 ) n − 1 C ( n , n − 1 ) 1 m n^{m}-C(n, 1)(n-1)^{m}+C(n, 2)(n-2)^{m}-\cdots+(-1)^{n-1} C(n, n-1) 1^{m} nm−C(n,1)(n−1)m+C(n,2)(n−2)m−⋯+(−1)n−1C(n,n−1)1m
n n n个元素的错排个数为
D n = n ! ( 1 − 1 1 ! + 1 2 ! − 1 3 ! + ⋯ + ( − 1 ) n 1 n ! ) D_{n}=n !\left(1-\frac{1}{1 !}+\frac{1}{2 !}-\frac{1}{3 !}+\cdots+(-1)^{n} \frac{1}{n !}\right) Dn=n!(1−1!1+2!1−3!1+⋯+(−1)nn!1)
证明
设 A i A_i Ai表示数 i i i仍在第 i i i位的全排列, i = 1 , 2 , … , n i=1,2,\dots,n i=1,2,…,n,由于 i i i不动,故
∣ A i ∣ = ( n − 1 ) ! , i = 1 , 2 , ⋯   , n \left|A_{i}\right|=(n-1) !, \quad i=1,2, \cdots, n ∣Ai∣=(n−1)!,i=1,2,⋯,n
同理
∣ A i ∩ A j ∣ = ( n − 2 ) ! , i , j = 1 , 2 , ⋯   , n , i ≠ j ⋮ ∣ A 1 ∩ A 2 ∩ A 3 ∩ ⋯ ∩ A n ∣ = 1 \begin{array}{c}{\left|A_{i} \cap A_j\right|=(n-2) !, \quad i, j=1,2, \cdots, n, i \neq j} \\ {\vdots} \\ {\left|A_{1} \cap A_{2} \cap A_{3} \cap \cdots \cap A_{n}\right|=1}\end{array} ∣Ai∩Aj∣=(n−2)!,i,j=1,2,⋯,n,i̸=j⋮∣A1∩A2∩A3∩⋯∩An∣=1
因此,每个元素都不在各自的位置上的排列数为
D n = ∣ A ‾ 1 ∩ A ‾ 2 ∩ ⋯ ∩ A ‾ n ∣ = n ! − C ( n , 1 ) ( n − 1 ) ! + C ( n , 2 ) ( n − 2 ) ! + ⋯ ± C ( n , n ) 1 ! = n ! ( 1 − 1 1 ! + 1 2 ! − 1 3 ! + ⋯ + ( − 1 ) n 1 n ! ) = n ! ∑ k = 0 n ( − 1 ) k / k ! \begin{aligned} D_{n} &=\left|\overline{A}_{1} \cap \overline{A}_{2} \cap \cdots \cap \overline{A}_{n}\right|=n !-C(n, 1)(n-1) ! \\ &+C(n, 2)(n-2) !+\cdots \pm C(n, n)1 ! \\ &=n !\left(1-\frac{1}{1 !}+\frac{1}{2 !}-\frac{1}{3 !}+\cdots+(-1)^{n} \frac{1}{n !}\right) \\ &= n ! \sum_{k=0}^{n}(-1)^{k} / k !\end{aligned} Dn=∣∣A1∩A2∩⋯∩An∣∣=n!−C(n,1)(n−1)!+C(n,2)(n−2)!+⋯±C(n,n)1!=n!(1−1!1+2!1−3!1+⋯+(−1)nn!1)=n!k=0∑n(−1)k/k!
推论: D n = n D n − 1 + ( − 1 ) n ( n ⩾ 1 ) D_{n}=n D_{n-1}+(-1)^{n} \quad(n \geqslant 1) Dn=nDn−1+(−1)n(n⩾1)
D n = n ! ∑ k = 0 N ( − 1 ) k / k ! = n ⋅ ( n − 1 ) ! ∑ k = 0 n − 1 ( − 1 ) k / k ! + n ! ( − 1 ) n n ! = n ⋅ D n − 1 + ( − 1 ) n \begin{aligned} D_{n} &=n ! \sum_{k=0}^{N}(-1)^{k} / k ! \\ &=n \cdot(n-1) ! \sum_{k=0}^{n-1}(-1)^{k} / k !+n ! \frac{(-1)^{n}}{n !} \\ &=n \cdot D_{n-1}+(-1)^{n} \end{aligned} Dn=n!k=0∑N(−1)k/k!=n⋅(n−1)!k=0∑n−1(−1)k/k!+n!n!(−1)n=n⋅Dn−1+(−1)n
递推关系: D n = ( n − 1 ) ( D n − 1 + D n − 2 ) ( n ⩾ 2 ) D_{n}=(n-1)\left(D_{n-1}+D_{n-2}\right) \quad(n \geqslant 2) Dn=(n−1)(Dn−1+Dn−2)(n⩾2)
证明:
当 n = 2 n=2 n=2时结论显然成立。
设 n ≥ 3 n \geq 3 n≥3,由 n n n个相异元 a 1 , a 2 , … , a n a_1, a_2,\dots,a_n a1,a2,…,an组成的 n n n元素重排共有 D n D_n Dn个,其中 a k ( 2 ≤ k ≤ n ) a_k(2\leq k \leq n) ak(2≤k≤n)排在第1位的 n n n元重排可分为如下两类:
(1) a 1 a_1 a1排在第 k k k位的 n n n元重排,属于此类的 n n n元重排有 D n − 2 D_{n-2} Dn−2个。
(2) a 1 a_1 a1不排在第 k k k位的 n n n元重排,属于此类的 n n n元重排有 D n − 1 D_{n-1} Dn−1个。
由加法法则, a k ( 2 ≤ k ≤ n ) a_k(2 \leq k \leq n) ak(2≤k≤n)排在第1位的 n n n元重排有 D n − 1 + D n − 2 D_{n-1}+D_{n-2} Dn−1+Dn−2个,再由加法法则得
D n = ( n − 1 ) ( D n − 1 + D n − 2 ) ( n ⩾ 3 ) D_{n}=(n-1)\left(D_{n-1}+D_{n-2}\right) \quad(n \geqslant 3) Dn=(n−1)(Dn−1+Dn−2)(n⩾3)
设 n n n为自然数,以 φ ( n ) \varphi(n) φ(n)表示不大于 n n n且与 n n n互质的自然数的个数, φ ( n ) \varphi(n) φ(n)称为Euler函数。易知 φ ( 1 ) = 1 , φ ( 2 ) = 1 , φ ( 3 ) = 2 , φ ( 4 ) = 2 , … \varphi(1)=1, \varphi(2)=1, \varphi(3)=2,\varphi(4)=2,\dots φ(1)=1,φ(2)=1,φ(3)=2,φ(4)=2,…