定义与符号
- 用 \(n!\) 表示 \(n\) 的阶乘;\(n^{\underline k}\) 表示其下降阶乘幂;\(n^{\overline k}\) 表示其上升阶乘幂。\(n!=1\times 2\times...\times n,n^{\underline k}=n\times(n-1)\times...\times(n-k+1),n^{\overline k}=n\times(n+1)\times...\times(n+k-1)\)
- 用 \(A_n^m\) 表示从 \(n\) 个元素中有序 选 \(m\) 个的数量(排列),\(A_n^m=\frac{n!}{(n-m)!}=n^{\underline m}\)
- 用 \(C_n^m\) 或 \(n\choose m\) 表示从 \(n\) 个元素中选 \(m\) 个元素所组成的集合的数量(组合),\(C_n^m=\)\(n\choose m\)\(=\frac{n!}{(n-m)!m!}=\frac{n^{\underline m}}{m!}\)
计数
计数原理
- 加法原理:如果完成一件事有 \(n\) 类方法,且第 \(i\) 类方法有 \(a_i\) 种方案,则完成这件事共有 \(\Sigma a_i\) 种方案。
- 乘法原理:如果完成一件事有 \(n\) 个步骤,且第 \(i\) 个步骤有 \(a_i\) 种方案,则完成这件事共有 \(\Pi a_i\) 种方案。
计数方法
- 捆绑法。将一些元素看成一个整体,先将有限制的元素先进行计算,再将所有元素进行计算。
- 插空法。当要求某些元素不相邻 时,将有限制的 \(m\) 个元素放入 \(n-m+1\) 个空格之中。
- 隔板法。将 \(n\) 个元素放入 \(m\) 个容器中,相当于将元素分成 \(m\) 组。
组合有关恒等式
对称:
\[{n\choose k}={n \choose n-k} \]
吸收、提取:
\[{n\choose k}=\frac{n}{k}{n-1\choose k-1} \]
加法、归纳:
\[{n\choose k}={n-1\choose k}+{n-1\choose k-1} \]
证明1(组合意义):最后一个人可选可不选。
证明2:写成定义式直接加。
相伴:
\[(n-k){n\choose k}=n{n-1\choose k},k{n\choose k}=(n-k+1){n\choose k-1} \]
证明:写成定义式直接化即可。
上指标反转:
\[{n\choose k}=(-1)^k{k-n-1\choose k} \]
证明:
\[\begin{aligned} {n\choose k}&=\frac{n^{\underline k}}{k!}\\ &=\frac{n\times(n-1)\times...\times(n-k+1)}{k!}\\ &=\frac{(-1)^k\times(-n)\times(1-n)\times...\times(k-n-1)}{k!}\\ &=(-1)^k\frac{(k-n-1)^{\underline k}}{k!}\\ &=(-1)^k{k-n-1\choose k} \end{aligned} \]
三项式系数:
\[{n\choose m}{m\choose k}={n\choose k}{n-k\choose m-k} \]
证明1(组合意义):从 \(n\) 个元素中选 \(m\) 个再从 \(m\) 个元素中选 \(k\) 个,等价于直接从 \(n\) 个数中选 \(k\) 个,再从 \(n-k\) 个中选剩余 \(m-k\) 个。
证明2:写成定义式直接化即可。
上指标求和:
\[\sum_{i=m}^{n}{i\choose m}={n+1\choose m+1} \]
证明1(组合意义):在 \(n+1\) 个元素中选 \(m+1\) 个元素,等价于强制在前 \(i\) 个元素中选 \(m\) 个元素,再在后面元素中选一个的方案数。
证明2:
\[\begin{aligned} {n+1\choose m+1}&={n\choose m}+{n\choose m+1}\\ &={n\choose m}+{n-1\choose m}+{n-1\choose m+1}\\ &={n\choose m}+{n-1\choose m}+{n-2\choose m}+{n-2\choose m+1}\\ &=\sum_{i=0}^n{i\choose m}=\sum_{i=m}^n{i\choose m} \end{aligned} \]
平行恒等式:
\[\sum_{i=0}^n{m+i\choose i}={m+n+1\choose n} \]
证明:
\[\sum_{i=0}^n{m+i\choose i}=\sum_{i=0}^n{m+i\choose m}={m+n+1\choose m+1}={m+n+1\choose n} \]
范德蒙德卷积/下指标卷积:
\[\sum_{i=0}^k{n\choose i}{m\choose k-i}={n+m\choose k} \]
证明:一共有 \(n+m\) 个元素,以 \(n\) 为断点,在两边分别选一些元素,等价于直接在 \(n+m\) 个元素中选 \(k\) 个元素。
下指标点积:
\[\sum_{i=0}^m{n\choose i}{m\choose i}={n+m\choose m} \]
证明同上。
上指标卷积:
\[\sum_{i=0}^{k}{i\choose n}{k-i\choose m}={k+1\choose n+m+1} \]
证明:把 \(k\) 个元素分成两部分,每部分分别选 \(n\)、\(m\) 个,等价于有 \(k+1\) 个元素,先选择其中一个作为隔板,然后再选出 \(n+m\) 个元素。
组合数相关
\(\texttt{Lucas}\) 定理
\[{n\choose m}\equiv{\lfloor\frac{n}{p}\rfloor\choose\lfloor\frac{m}{p}\rfloor}{n\bmod p\choose m\bmod p}\pmod p,p\in prime \]
证明:\(\because{p\choose i}\bmod p=[m=1\or m=p]\) \(\therefore(a+b)^p\equiv a^p+b^p\pmod{p}\)
\(\because{n\choose m}=[x^m](1+x)^n\) \(\therefore(1+x)^n=(1+x)^{p\lfloor\frac{n}{p}\rfloor}(1+x)^{n\bmod p}\)
\(\therefore(1+x)^n\equiv(1+x^p)^{\lfloor\frac{n}{p}\rfloor}+(1+x)^{n\bmod p}\pmod{p}\)
对于每一个 \(m\),都有 \(m=p\lfloor\frac{m}{p}\rfloor+{m\bmod p}\)
\(\therefore{n\choose m}\equiv{\lfloor\frac{n}{p}\rfloor\choose\lfloor\frac{m}{p}\rfloor}{n\bmod p\choose m\bmod p}\pmod p\)
二项式定理
\[(x+y)^n=\sum_{i=0}^n{{n\choose i}x^iy^{n-i}} \]
证明:在 \(n\) 个 \((x+y)\) 中分别选一项,可以考虑枚举 \(x\) 个数分别算贡献。
拓展
\[(x+y)^{\underline n}=\sum_{i=0}^n{{n\choose i}x^{\underline i}y^{\underline {n-i}}} \]
\[(x+y)^{\overline n}=\sum_{i=0}^n{{n\choose i}x^{\overline i}y^{\overline {n-i}}} \]
证明:数学归纳法。(以第一个为例子)
- 基本情况:当 \(n=1\) 时,有 \(x+y=x+y\)
- 归纳步骤:已知 \(n\) 成立,当 \(n\) 变成 \(n+1\) 时,左式多出 \(x+y-n\),代入右式得到:
\[\begin{aligned} \sum_{i=0}^n{{n\choose i}x^{\underline i}y^{\underline {n-i}}(x+y-n)}&=\sum_{i=0}^n{{n\choose i}x^{\underline i}y^{\underline {n-i}}((x-i)+(y-n+i))}\\ &=\sum_{i=0}^n{{n\choose i}x^{\underline {i+1}}y^{\underline {n-i}}}+\sum_{i=0}^n{{n\choose i}x^{\underline i}y^{\underline {n-i+1}}}\\ &=\sum_{i=1}^{n+1}{{n\choose i-1}x^{\underline {i}}y^{\underline {n-i+1}}}+\sum_{i=0}^n{{n\choose i}x^{\underline i}y^{\underline {n-i+1}}}\\ &=x^{n+1}+y^{n+1}+\sum_{i=1}^{n}{{n\choose i-1}x^{\underline {i}}y^{\underline {n-i+1}}}+\sum_{i=1}^n{{n\choose i}x^{\underline i}y^{\underline {n-i+1}}}\\ &=x^{n+1}+y^{n+1}+\sum_{i=1}^n{{n+1\choose i}x^{\underline i}y^{\underline {n-i+1}}}\\ &=\sum_{i=0}^{n+1}{{n+1\choose i}x^{\underline i}y^{\underline {n+1-i}}}\\ \end{aligned} \]
牛顿级数
记 \(\Delta^na\) 表示数列 \(a\) 差分 \(n\) 次后的数列,则有:
\[\Delta^na_i=\sum_{j=0}^n(-1)^j{n\choose j}a_{i-j} \]
证明1:数学归纳法。
- 基本情况:当 \(n=0\) 时,有 \(a_i=a_i\)
- 归纳步骤:已知 \(n\) 成立,当 \(n\) 变成 \(n+1\) 时
\[\begin{aligned} \Delta^{n+1}a_i&=\Delta^na_i-\Delta^na_{i-1}\\ &=\sum_{j=0}^n(-1)^j{n\choose j}a_{i-j}-\sum_{j=0}^n(-1)^j{n\choose j}a_{i-j-1}\\ &=\sum_{j=0}^{n}(-1)^j{n\choose j}a_{i-j}+\sum_{j=1}^{n+1}(-1)^j{n\choose j-1}a_{i-j}\\ &=a_{i-1}+(-1)^{n+1}a_{i-n}+\sum_{j=1}^{n}(-1)^j{n\choose j}a_{i-j-1}+\sum_{j=1}^{n}(-1)^j{n\choose j-1}a_{i-j}\\ &=a_{i-1}+(-1)^{n+1}a_{i-n-1}+\sum_{j=1}^{n}(-1)^j{n+1\choose j}a_{i-j}\\ &=\sum_{j=0}^{n+1}(-1)^j{n+1\choose j}a_{i-j}\\ \end{aligned} \]
证明2:定义平移算子 \(E\),不变算子 \(I\),则差分算子 \(\Delta=I-E\)。所以有:
\[\Delta^na_i=(I-E)^na_i=(\sum_{j=0}^n{(-1)^j{n\choose j}E^jI^{n-j}})a_i=\sum_{j=0}^n{(-1)^j{n\choose j}a_{i-j}} \]
错排
记 \(f_n\) 表示长度为 \(n\) 的、不存在 \(p_i=i\) 的排列个数,则有:
\[f_n=(n-1)(f_{n-1}+f_{n-2}) \]
证明:考虑第一个元素有 \(n-1\) 种放法,设放到位置 \(k\),那么元素 \(k\) 就有两种情况:如果放在一,则剩余元素有 \(f_{n-2}\) 种放法;否则则视为元素一加入含 \(k\) 的置换环中,等价于在 \(n-1\) 元素组成的置换环中插入元素一,则有 \(f_{n-1}\) 种。
拓展鸽巢原理
将 \((\sum_{i=1}^np_i)-n+1\) 个元素放入 \(n\) 个集合,一定存在一个集合 \(i\),使得第 \(i\) 个集合至少包含 \(p_i\) 个元素。
证明:反证法。先假设第 \(i\) 个集合中放了 \(p_i-1\) 个元素,则会有一个元素不在集合中。