组合数学

定义与符号

  1. 用 \(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)\)
  2. 用 \(A_n^m\) 表示从 \(n\) 个元素中有序 选 \(m\) 个的数量(排列),\(A_n^m=\frac{n!}{(n-m)!}=n^{\underline m}\)
  3. 用 \(C_n^m\) 或 \(n\choose m\) 表示从 \(n\) 个元素中选 \(m\) 个元素所组成的集合的数量(组合),\(C_n^m=\)\(n\choose m\)\(=\frac{n!}{(n-m)!m!}=\frac{n^{\underline m}}{m!}\)

计数

计数原理

  1. 加法原理:如果完成一件事有 \(n\) 类方法,且第 \(i\) 类方法有 \(a_i\) 种方案,则完成这件事共有 \(\Sigma a_i\) 种方案。
  2. 乘法原理:如果完成一件事有 \(n\) 个步骤,且第 \(i\) 个步骤有 \(a_i\) 种方案,则完成这件事共有 \(\Pi a_i\) 种方案。

计数方法

  1. 捆绑法。将一些元素看成一个整体,先将有限制的元素先进行计算,再将所有元素进行计算。
  2. 插空法。当要求某些元素不相邻 时,将有限制的 \(m\) 个元素放入 \(n-m+1\) 个空格之中。
  3. 隔板法。将 \(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\) 个元素,则会有一个元素不在集合中。

相关推荐
寂—作业逆行者6 天前
反比例函数的深层理解、题目技巧与应用
数学·函数·反比例函数
寂—作业逆行者6 天前
初识反比例函数
数学·函数·反比例函数
青花瓷13 天前
空间内任意点到直线和平面的距离推导
数学·平面·解析几何
Lyrella14 天前
拉格朗日反演小记
数学
AI是这个时代的魔法15 天前
The Action Replay Process
数学·算法·随机决策过程
啊阿狸不会拉杆16 天前
人工智能数学基础(十)—— 图论
人工智能·python·数学·算法·图论
啊阿狸不会拉杆22 天前
人工智能数学基础(五):概率论
人工智能·python·数学·算法·概率论
啊阿狸不会拉杆23 天前
人工智能数学基础(四):线性代数
人工智能·python·数学·算法·机器学习
量子位25 天前
数学家们仍在追赶天才拉马努金
人工智能·数学
是数学系的小孩儿25 天前
数值分析、数值代数之追赶法
数学·matlab·电脑