Counting
#Math213
Counting
Basic
Basic Counting Rules
-
Product Rule:计数过程可以分解为一个彼此依赖序列计数过程,前项计数过程中的元素均与后项有关
-
Sum Rule: 计数过程可以分解为一系列独立的计数过程
- 容斥原理:Principle of Inclusion-Exclusion
$$ |\cup_{i=1}^{n}S_{i}| = \sum_{i}|S_{i}|-\sum_{i<j}|S_{i}\cap S_{j}|+\sum_{i<j<k}|S_{i}\cap S_{j}\cap S_{k}|+\dots+(-1)^{n-1}|S_{1}\cap\dots \cap S_{n}| $$
- The Division Rule
-
抽屉原理: Pigeonhole Principle
泛化后的抽屉原理:
Permutation and Combination
Permutation: 考虑不同对象的有序排列
$$ P(n,r) = n(n-1)\dots(n-r+1) = \frac{n!}{(n-r)!} $$
Combination: 考虑不同对象的选取
$$ C(n,r) = \frac{P(n,r)}{r!} = \frac{n!}{(n-r)!r!} $$
Combinatorial Proof
算两次
Definition
- 利用计数原理考虑对同一计数事件从不同角度考虑,得出等式的两边
- 利用构造双射证明等式两边相等 (核心为分别证明单射与满射)
Identity and Property
二项式定理
$$ (x+y)^{n}= \sum_{j=0}^{n}C_{n}^{j}x^{n-j}y^{j} = C_{n}^{0}x^{n} + \dots + C_{n}^{n}y^{n} $$
推论:
$$
\begin{align}
& \sum_{k=0}^{n}C_{n}^{k} = 2^{n}
& \sum_{k=0}^{n}(-1)^{k}C_{n}^{k} = 0
& \sum_{k=0}^{n}2^{k}C_{n}^{k}=3^{n}
\end{align}
$$
Pascal’s Identity: 常用于组合数的裂项化简等
$$ C_{n+1}^{k} = C_{n}^{k} + C_{n}^{k-1} $$
推论:
$$ C_{n+1}^{r+1} = \sum_{j=r}^{n}C_{j}^{r} $$
三项式系数:Trinomial Coefficient
$$
\begin{pmatrix}
n
k_{1} \ k_{2} \ k_{3}
\end{pmatrix} = \frac{n!}{k_{1}!k_{2}!k_{3}!}
$$
其中 $k_{1}+k_{2}+k_{3}=n$
Generalized Permutations and Combinations
Permutations with repetition
Permutations with Indistinguishable Objects
Combinations with Repetition
考虑将问题整体情境化归为带限制的不定方程,然后可以考虑隔板法
情境建模:
$$ a_{1} + \dots + a_{n} = k $$
其中 $a_{i}$ 为整数, $a_{i} \geq N_{i}$ ,则问题可以简化为:
$$
\begin{align}
& (a_{1}-N_{1}+1) + \dots + (a_{n}-N_{n}+1) \geq k+n-\sum_{i=1}^{n}N_{i}
& \text{记 } b_{i} = a_{i}-N_{i}+1 ,S= k+n-\sum_{i=1}^{n}N_{i}, \text{则 } b_{i} \geq 1
\end{align}
$$
那么可以考虑对总数为 S,种类为 n 的物体进行分隔,最终结果为
$$ C_{S-1}^{n-1} $$
Generating Functions 母函数
Definition
母函数即为形式幂级数,为实系数的无穷级数
将有限数列扩展至母函数形式 ->将后项系数考虑为 0 即可
Useful Facts:常常考虑泰勒级数对母函数的形式进行化简
Operations of Generating Functions
Addition & Convolution
补充:Extended Binomial Coeffieicent(二项式系数扩展)
$$
\begin{pmatrix}
-n
r
\end{pmatrix} = (-1)^{r}C(n+1-r,r)
$$
Application
Applied in Combinations with repetitions
核心想法:
- 将问题情境建模为带限制的不定方程问题
-
通过母函数考虑通过计算多项式的系数转化
-
Example1
-
Example2: 注意关注序关系是否重要
Example3
核心均为考虑如何将计数问题转化为求多项式具体某一项的系数问题
Solve Recurrence Relation
核心想法:
- 生成数列所对应的母函数
- 根据数列的递推关系求解母函数,常涉及利用递推性质约简母函数
- 得到母函数后通过展开得到数列形式
Example1
Example2