容斥原理

1.定义

在计数时,必须注意有没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠情况,把包含于某内容中的数目先计算出来,然后把计数时重复计算的数目排斥出去,使得计算结果既无遗漏又无重复,这种计数的方法称为容斥原理。百度百科

2. 定理

2.1 定理1

∣ A ∪ B ∣ = ∣ A ∣ + ∣ B ∣ − ∣ A ∩ B ∣ |A \cup B|=|A|+|B|-|A \cap B| AB=A+BAB
∣ 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| ABC=A+B+CABACBC+ABC
推出:
⋃ 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=1nAi=i=1nAii<jAiAj+i<j<kAiAjAk+(1)n1i=1nAi

2.2 定理2

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=1nAi=k=1n(1)k1IIkiIAi

2.3 定理3

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=Si=1mAi=Si=1mAi+i<jAiAji<j<kAiAjAk++(1)mi=1mAi

2.4 定理4

m m m n n n是正整数,且 m ≥ n m \geq n mn,则将 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} nmC(n,1)(n1)m+C(n,2)(n2)m+(1)n1C(n,n1)1m

3.应用

3.1 错排问题

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!(11!1+2!13!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=(n1)!,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} AiAj=(n2)!,i,j=1,2,,n,i̸=jA1A2A3An=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=A1A2An=n!C(n,1)(n1)!+C(n,2)(n2)!+±C(n,n)1!=n!(11!1+2!13!1++(1)nn!1)=n!k=0n(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=nDn1+(1)n(n1)
    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=0N(1)k/k!=n(n1)!k=0n1(1)k/k!+n!n!(1)n=nDn1+(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=(n1)(Dn1+Dn2)(n2)
    证明:
    n = 2 n=2 n=2时结论显然成立。
    n ≥ 3 n \geq 3 n3,由 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(2kn)排在第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} Dn2个。
    (2) a 1 a_1 a1不排在第 k k k位的 n n n元重排,属于此类的 n n n元重排有 D n − 1 D_{n-1} Dn1个。
    由加法法则, a k ( 2 ≤ k ≤ n ) a_k(2 \leq k \leq n) ak(2kn)排在第1位的 n n n元重排有 D n − 1 + D n − 2 D_{n-1}+D_{n-2} Dn1+Dn2个,再由加法法则得
    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=(n1)(Dn1+Dn2)(n3)

3.2 Euler函数 φ ( n ) \varphi(n) φ(n)的计数问题

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,

  • 定理
    n ( n ≥ 2 ) n(n \geq 2) n(n2)为自然数,则 p 1 , p 2 , … , p m p_1,p_2,\dots,p_m p1,p2,,pm n n n的全部质因数,则
    φ ( n ) = n ! ∏ i = 1 m ( 1 − 1 p i ) \varphi(n)=n ! \prod_{i=1}^{m}\left(1-\frac{1}{p_{i}}\right) φ(n)=n!i=1m(1pi1)
  • 证明
    n n n分解成素数的乘积: n = p 1 α 1 p 2 α 2 ⋯ p k α k n=p_{1}^{\alpha_{1}} p_{2}^{\alpha_{2}} \cdots p_{k}^{\alpha_{k}} n=p1α1p2α2pkαk
    设1到 n n n p i p_i pi的倍数的集合为 A i A_i Ai i = 1 , 2 , … , k i=1,2,\dots,k i=1,2,,k,则
    ∣ A i ∣ = n / p i , i = 1 , 2 , … , k ∣ A i ∩ A j ∣ = n / ( p i p j ) , i , j = 1 , 2 , … , k , i ≠ j , … \begin{array}{l}{\left|A_{i}\right|=n / p_{i}, \quad i=1,2, \ldots, k} \\ {\left|A_{i} \cap A_{j}\right|=n /\left(p_{i} p_{j}\right), \quad i, j=1,2, \ldots, k, \quad i \neq j, \ldots}\end{array} Ai=n/pi,i=1,2,,kAiAj=n/(pipj),i,j=1,2,,k,i̸=j,
    得到
    φ ( n ) = ∣ A ‾ 1 ∩ A ‾ 2 ∩ ⋯ ∩ A ‾ k ∣ = n − ∣ ⋃ i = 1 k A i ∣ = n − ( n p 1 + n p 2 + ⋯ + n p k ) + ( n p 1 p 2 + n p 1 p 3 + ⋯ + n p k − 1 p k ) − ⋯ ± n p 1 p 2 ⋯ p k = n ( 1 − 1 p 1 ) ( 1 − 1 p 2 ) ⋯ ( 1 − 1 p k ) = n ! ∏ i = 1 m ( 1 − 1 p i ) \begin{aligned} \varphi(n) &=\left|\overline{A}_{1} \cap \overline{A}_{2} \cap \cdots \cap \overline{A}_{k}\right|\\ &= n-\left|\bigcup_{i=1}^{k} A_{i}\right| \\ &= n-\left(\frac{n}{p_{1}}+\frac{n}{p_{2}}+\cdots+\frac{n}{p_{k}}\right) +\left(\frac{n}{p_{1} p_{2}}+\frac{n}{p_{1} p_{3}}+\cdots+\frac{n}{p_{k-1} p_{k}}\right)-\cdots \pm \frac{n}{p_{1} p_{2} \cdots p_{k}} \\ &=n\left(1-\frac{1}{p_{1}}\right)\left(1-\frac{1}{p_{2}}\right) \cdots\left(1-\frac{1}{p_{k}}\right) \\ & = n ! \prod_{i=1}^{m}\left(1-\frac{1}{p_{i}}\right) \end{aligned} φ(n)=A1A2Ak=ni=1kAi=n(p1n+p2n++pkn)+(p1p2n+p1p3n++pk1pkn)±p1p2pkn=n(1p11)(1p21)(1pk1)=n!i=1m(1pi1)

你可能感兴趣的:(数学)