1.定义
在计数时,必须注意有没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠情况,把包含于某内容中的数目先计算出来,然后把计数时重复计算的数目排斥出去,使得计算结果既无遗漏又无重复,这种计数的方法称为容斥原理。百度百科
2. 定理
2.1 定理1
∣
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∣∣∣∣∣
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=1⋃nAi∣∣∣∣∣=k=1∑n(−1)k−1I∈Ik∑∣∣∣∣∣i∈I⋂Ai∣∣∣∣∣
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∣∣=∣S∣−⋃i=1mAi=∣S∣−∑i=1m∣Ai∣+∑i<j∣Ai∩Aj∣−∑i<j<k∣Ai∩Aj∩Ak∣+⋯+(−1)m∣⋂i=1mAi∣
2.4 定理4
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
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!(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)
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(n≥2)为自然数,则 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=1∏m(1−pi1) - 证明
将 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α2⋯pkα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,…,k∣Ai∩Aj∣=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)=∣∣A1∩A2∩⋯∩Ak∣∣=n−∣∣∣∣∣i=1⋃kAi∣∣∣∣∣=n−(p1n+p2n+⋯+pkn)+(p1p2n+p1p3n+⋯+pk−1pkn)−⋯±p1p2⋯pkn=n(1−p11)(1−p21)⋯(1−pk1)=n!i=1∏m(1−pi1)