定义与符号
- 用 \(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\) 个元素,则会有一个元素不在集合中。