离散数学笔记系列(四)

计数原理笔记:

    • 一、容斥原理:
    • 二、鸽笼原理:
          • 通俗版:
          • 加强版:
    • 三、排列组合:
          • 乘法原理 / 分步计数原理:
          • 加法原理 / 分类计数原理:
          • 排列数公式:
          • 常见阶乘数:
          • 错位排列公式:
          • 组合数公式:
          • 常见组合数:
          • 常见组合恒等式:
          • 经典排列组合:
          • 球盒问题:
          • 分组分配问题:
          • 其他经典计数问题:
          • 斯特林公式:
    • 四、生成函数 / 母函数:
          • 普通型母函数 / 组合型母函数:
          • 指数型母函数 / 排列型母函数:
          • 常用普通型母函数:

一、容斥原理:

离散数学笔记系列(四)_第1张图片

特殊地:
当 n = 2 时: ∣ A ⋃ B ∣ = ∣ A ∣ + ∣ B ∣ − ∣ A ⋂ B ∣ |A \bigcup B| = |A| + |B| - |A \bigcap B| AB=A+BAB

当 n = 3时: ∣ A ⋃ B ⋃ C ∣ = ∣ A ∣ + ∣ B ∣ + ∣ C ∣ − ∣ A ⋂ B ∣ − ∣ A ⋂ C ∣ − ∣ B ⋂ C ∣ + ∣ A ⋂ B ⋂ C ∣ |A \bigcup B \bigcup C| = |A| + |B| + |C| - |A \bigcap B| - |A\bigcap C| - |B \bigcap C| + |A \bigcap B \bigcap C| ABC=A+B+CABACBC+ABC



二、鸽笼原理:

  • 通俗版:

    若将n只鸽子放到m个笼子中,且m < n,则至少有一个笼子要装2个或更多的鸽子;

  • 加强版:

    若将n只鸽子放到m个笼子中,则至少有一个笼子要容纳 ⌊ n − 1 m ⌋ + 1 \lfloor \frac{n-1}{m} \rfloor + 1 mn1+1或更多的鸽子;



三、排列组合:

  • 乘法原理 / 分步计数原理:
    做一件事有k个步骤,其中第1步有 n 1 n_1 n1种方法,第2步有 n 2 n_2 n2种方法 ,…, 第i步有 n i n_i ni种方法 ,…, 第k步有 n k n_k nk种方法,则完成这件事情共有 Π n i \Pi n_i Πni种方法;

  • 加法原理 / 分类计数原理:
    做一件事有k个做法,其中第1个做法有 n 1 n_1 n1种方式,第2个做法有 n 2 n_2 n2种方式 ,…, 第i个做法有 n i n_i ni种方式 ,…, 第k个做法有 n k n_k nk种方式,则完成这件事情共有 Σ n i \Sigma n_i Σni种方法;

  • 排列数公式:
    A n m = n ! m ! A_n^m = \frac{n!}{m!} Anm=m!n!, 特殊地: A n n = n ! A_n^n = n! Ann=n!

  • 常见阶乘数:
0! 1! 2! 3! 4! 5! 6! 7! 8! 9!
1 1 2 6 24 120 720 5040 40320 362880

  • 错位排列公式:

    D n = n ! ( 1 2 ! − 1 3 ! + . . . + ( − 1 ) n 1 n ! ) D_n = n!(\frac{1}{2!} - \frac{1}{3!} + ... +(-1)^n\frac{1}{n!}) Dn=n!(2!13!1+...+(1)nn!1)

    注:所谓错位排列,即设 a 1 a 2 . . . a n a_1a_2...a_n a1a2...an这n个不同的数已经按照某个既定的顺序排好,而这个n个数的其余排列中,若某个排列为 p 1 p 2 . . . p n p_1p_2...p_n p1p2...pn, 且满足 ∀ i ≤ n , p i ≠ a i \forall i \leq n, p_i \neq a_i in,pi=ai则称其为{ a i a_i ai}的一个错位排列,而错位排列公式所求为这n个数的错位排列的个数


  • 组合数公式:
    C n m = n ! m ! ( n − m ) ! C_n^m = \frac{n!}{m!(n-m)!} Cnm=m!(nm)!n!

  • 常见组合数:
C n 0 / C n n C_n^0/C_n^n Cn0/Cnn C n 1 C_n^1 Cn1 C n 2 C_n^2 Cn2 C n 3 C_n^3 Cn3 C 3 1 / C 3 2 C_3^1/C_3^2 C31/C32 C 4 2 C_4^2 C42 C 5 2 / C 5 3 C_5^2/C_5^3 C52/C53 C 6 2 / C 6 4 C_6^2/C_6^4 C62/C64 C 6 3 C_6^3 C63 C 7 3 / C 7 4 C_7^3/C_7^4 C73/C74 C 8 4 C_8^4 C84
1 n n ( n − 1 ) 2 \frac{n(n-1)}{2} 2n(n1) n ( n − 1 ) ( n − 2 ) 6 \frac{n(n-1)(n-2)}{6} 6n(n1)(n2) 3 6 10 15 20 35 70

  • 常见组合恒等式:

    (1) C n k = C n n − k C_n^k = C_n^{n-k} Cnk=Cnnk

    (2) C n k = C n − 1 k + C n − 1 k − 1 C_n^k = C_{n-1}^k + C_{n-1}^{k-1} Cnk=Cn1k+Cn1k1

    (3) k C n k = n C n − 1 k − 1 kC_n^k = nC_{n-1}^{k-1} kCnk=nCn1k1

    (4) C m m + C m + 1 m + . . . + C n m = C n + 1 m + 1 C_m^m + C_{m+1}^m + ... + C_{n}^m = C_{n+1}^{m+1} Cmm+Cm+1m+...+Cnm=Cn+1m+1

    (5) C n k × C k m = C n m × C n − m k − m = C n k − m × C n + m − k m C_n^k \times C_k^m = C_n^m \times C_{n-m}^{k-m} = C_n^{k-m} \times C_{n+m-k}^{m} Cnk×Ckm=Cnm×Cnmkm=Cnkm×Cn+mkm

    (6) C n 0 + C n 1 + . . . + C n n = 2 n C_n^0 + C_n^1 + ... + C_n^n = 2^n Cn0+Cn1+...+Cnn=2n

    (7) C n 0 + C n 2 + . . . = C n 1 + C n 3 + . . . = 2 n − 1 C_n^0 + C_n^2 + ... = C_n^1 + C_n^3 + ... = 2^{n-1} Cn0+Cn2+...=Cn1+Cn3+...=2n1


  • 经典排列组合:
元素是否可重复 安排是否有序 计数公式 模型
不重复 无序 C n m C_n^m Cnm n个元素的m组合
不重复 线性有序 A n m A_n^m Anm n个元素的m排列
不重复 圆形有序 A n m m \frac{A_n^m}{m} mAnm n个元素的m圆排列
(注意跟第一类斯特林数区分)
可重复 无序 C n + m − 1 m C_{n+m-1}^m Cn+m1m n个元素的可重m组合
可重复 线性有序 n m n^m nm n个元素的可重m排列
可重复 圆形有序 Σ ϕ ( d ) n m d m \frac{\Sigma\phi(d) n^{\frac{m}{d}} }{m} mΣϕ(d)ndm n个元素的可重圆形m排列
(其中d是n的每个因子, ϕ ( d ) \phi(d) ϕ(d)是d的欧拉函数

  • 球盒问题:
    (将n个球放入m个盒子中)
球是否可辨 盒子是否可辩 盒子是否可空 计数公式 模型
可辨 可辩 可空 m n m^n mn n元集有序拆分成m个子集
可辨 可辩 不可空 K n , m = Σ i = 1 m ( − 1 ) m − i C m i i n K_{n,m} = \Sigma_{i=1}^{m}(-1)^{m-i}C_m^ii^n Kn,m=Σi=1m(1)miCmiin n元集有序拆分成m个非空子集
(记为 K n , m K_{n,m} Kn,m,下同)
可辨 不可辩 不可空 1 m ! K n , m \frac{1}{m!}K_{n,m} m!1Kn,m n元集无序拆分成m个非空子集
第二类斯特林数
可辨 不可辩 可空 Σ j = 1 m 1 j ! K n , j \Sigma_{j=1}^{m}\frac{1}{j!}K_{n,j} Σj=1mj!1Kn,j n元集无序拆分成m个子集
(当m=n时为贝尔数)
不可辨 可辩 可空 C n + m − 1 n C_{n+m-1}^n Cn+m1n 方程 x 1 + x 2 + . . . + x m = n x_1+x_2+...+x_m = n x1+x2+...+xm=n的非负整数解
不可辨 可辩 不可空 C n − 1 m − 1 C_{n-1}^{m-1} Cn1m1 方程 x 1 + x 2 + . . . + x m = n x_1+x_2+...+x_m = n x1+x2+...+xm=n的正整数解
不可辨 不可辩 不可空 递归式:
P n , m = P n − 1 , m − 1 + P n − m , m P_{n,m} = P_{n-1,m-1} + P_{n-m,m} Pn,m=Pn1,m1+Pnm,m
正整数n无序拆分成m个正整数
(记为 P n , m P_{n,m} Pn,m,下同)
不可辨 不可辩 可空 Σ i = 1 m P n , i \Sigma_{i=1}^{m}P_{n,i} Σi=1mPn,i 正整数n无序拆分成至多m个正整数

  • 分组分配问题:
分派对象是否可辨/定向 分派是否均匀 计数公式 模型
不可辩/可辨定向 均匀 1 m ! Π i = 0 m − 1 C n − i × k k \frac{1}{m!}\Pi_{i = 0}^{m-1} C_{n-i\times k}^k m!1Πi=0m1Cni×kk n个元素平均分成m组
(k= n m \frac{n}{m} mn,下同)
可辨不定向 均匀 Π i = 0 m − 1 C n − i × k k \Pi_{i = 0}^{m-1} C_{n-i\times k}^k Πi=0m1Cni×kk n个元素不定向平均分给m个对象
不可辨/可辨定向 完全不均匀 Π i = 1 m C n − Σ j = 1 i − 1 k j k i \Pi_{i = 1}^{m} C_{n-\Sigma_{j=1}^{i-1} k_j}^{k_i} Πi=1mCnΣj=1i1kjki n个元素分成m组,每组分 k 1 , k 2 , . . . k m k_1,k_2,...k_m k1,k2,...km个且各不相同
可辩不定向 完全不均匀 m ! × Π i = 1 m C n − Σ j = 1 i − 1 k j k i m!\times \Pi_{i = 1}^m C_{n-\Sigma_{j=1}^{i-1} k_j}^{k_i} m!×Πi=1mCnΣj=1i1kjki n个元素不定向分给m个对象,每个对象分 k 1 , k 2 , . . . k m k_1,k_2,...k_m k1,k2,...km个且各不相同
不可辨/可辨定向 部分均匀 1 s 1 ! s 2 ! . . . s l ! Π i = 1 m C n − Σ j = 1 i − 1 k j k i \frac{1}{s_1!s_2!...s_l!}\Pi_{i = 1}^{m} C_{n-\Sigma_{j=1}^{i-1} k_j}^{k_i} s1!s2!...sl!1Πi=1mCnΣj=1i1kjki n个元素分成m组,每组分 k 1 , k 2 , . . . k m k_1,k_2,...k_m k1,k2,...km个且各等份组组数为 s 1 , s 2 , . . . , s l s_1,s_2,...,s_l s1,s2,...,sl
可辩不定向 部分均匀 m ! s 1 ! s 2 ! . . . s l ! Π i = 1 m C n − Σ j = 1 i − 1 k j k i \frac{m!}{s_1!s_2!...s_l!} \Pi_{i = 1}^m C_{n-\Sigma_{j=1}^{i-1} k_j}^{k_i} s1!s2!...sl!m!Πi=1mCnΣj=1i1kjki n个元素不定向分给m个对象,每个对象分 k 1 , k 2 , . . . k m k_1,k_2,...k_m k1,k2,...km个且各等份组组数为 s 1 , s 2 , . . . , s l s_1,s_2,...,s_l s1,s2,...,sl

  • 其他经典计数问题:
名称 计数递推式 计数公式 模型
第一类斯特林数 s n , m = s n − 1 , m − 1 + s_{n,m} = s_{n-1,m-1}+ sn,m=sn1,m1+(n-1) × s n − 1 , m \times s_{n-1,m} ×sn1,m n个元素分成m个圆排列
第二类斯特林数 S n , m = S n − 1 , m − 1 + m × S n − 1 , m S_{n,m} = S_{n-1,m-1}+m\times S_{n-1,m} Sn,m=Sn1,m1+m×Sn1,m 1 m ! Σ i = 1 m ( − 1 ) m − i C m i i n \frac{1}{m!}\Sigma_{i=1}^{m}(-1)^{m-i}C_m^ii^n m!1Σi=1m(1)miCmiin n个可辨的小球放到m个不可辨的盒子中
贝尔数 B n = Σ i = 0 n − 1 B i B_{n} = \Sigma_{i=0}^{n-1}B_{i} Bn=Σi=0n1Bi Σ i = 1 n S n , i \Sigma_{i=1}^{n}S_{n,i} Σi=1nSn,i n元集的非空子集划分
卡特兰数 C n = Σ i = 0 n − 1 C i C n − i − 1 C_{n} = \Sigma_{i=0}^{n-1}C_{i}C_{n-i-1} Cn=Σi=0n1CiCni1 C 2 n n − C 2 n n − 1 = 1 n + 1 C 2 n n C_{2n}^n-C_{2n}^{n-1} = \frac{1}{n+1}C_{2n}^{n} C2nnC2nn1=n+11C2nn n个元素依次入栈后的出栈序列

  • 斯特林公式:
    lim ⁡ n → + ∞ n ! 2 π n ( n e ) n = 1 \lim_{n\rightarrow+ \infty} \frac{n!}{\sqrt{2\pi n}(\frac{n}{e})^n} = 1 limn+2πn (en)nn!=1,即: n ! ≈ 2 π n ( n e ) n n! \approx \sqrt{2\pi n}(\frac{n}{e})^n n!2πn (en)n


四、生成函数 / 母函数:

  • 普通型母函数 / 组合型母函数:
    设任意一个数列为 { a n } \{a_n\} { an}则称函数: G ( x ) = Σ a i x i G(x) = \Sigma a_ix^i G(x)=Σaixi { a n } \{a_n\} { an}的普通型母函数 / 组合型母函数;

  • 指数型母函数 / 排列型母函数:
    设任意一个数列为 { a n } \{a_n\} { an}则称函数: E G ( x ) = Σ a i x i i ! EG(x) = \Sigma a_i\frac{x^i}{i!} EG(x)=Σaii!xi { a n } \{a_n\} { an}的指数型母函数 / 排列型母函数;

  • 常用普通型母函数:
G ( x ) G(x) G(x) a i a_i ai
( 1 + x ) n (1+x)^n (1+x)n C n i C_n^i Cni
( 1 + a x ) n (1+ax)^n (1+ax)n C n i a i C_n^ia^i Cniai
( 1 + x m ) n (1+x^m)^n (1+xm)n C n i m C_n^{\frac{i}{m}} Cnmi (m整除i),
0 (m不整除i)
1 − x n + 1 1 − x \frac{1-x^{n+1}}{1-x} 1x1xn+1 1 1 1
1 1 − x \frac{1}{1-x} 1x1 1 1 1
1 ( 1 − x ) 2 \frac{1}{(1-x)^2} (1x)21 i + 1 i+1 i+1
1 ( 1 − x ) n \frac{1}{(1-x)^n} (1x)n1 C n + i − 1 i C_{n+i-1}^{i} Cn+i1i
1 ( 1 + x ) n \frac{1}{(1+x)^n} (1+x)n1 ( − 1 ) i C n + i − 1 i (-1)^iC_{n+i-1}^{i} (1)iCn+i1i
1 1 − a x \frac{1}{1-ax} 1ax1 a i a^i ai
1 ( 1 − a x ) n \frac{1}{(1-ax)^n} (1ax)n1 C n + i − 1 i a i C_{n+i-1}^{i}a^i Cn+i1iai
1 ( 1 + a x ) n \frac{1}{(1+ax)^n} (1+ax)n1 ( − 1 ) i C n + i − 1 i a i (-1)^iC_{n+i-1}^{i}a^i (1)iCn+i1iai
1 1 − x m \frac{1}{1-x^m} 1xm1 1 (m整除i),
0 (m不整除i)
e x e^x ex 1 i ! \frac{1}{i!} i!1
l n ( 1 + x ) ln(1+x) ln(1+x) ( − 1 ) i + 1 i \frac{(-1)^{i+1}}{i} i(1)i+1



你可能感兴趣的:(离散数学笔记系列)