组合数学 - 从零入门到进阶的全方位指南
组合数学是计数与结构的核心学科。本文以通俗易懂的方式梳理 4 大计数原理、排列组合基本公式以及二项式定理等基础,随后深入容斥、鸽巢、错位排列等进阶技巧,并提供实战模型与常见解题套路,帮助读者在比赛与科研中快速提取有效思路。想系统掌握组合数学,请继续阅读并点击原文获取完整细节。
文章概览
本文将从四个层次展开:
- 基础概念与常用例题
- 排列与组合的核心公式
- 二项式定理及其衍生结构
随后进入进阶部分,系统讲解容斥、鸽巢、错位排列等技巧,最后提供一套完整的解题模型与实战案例,帮助你在实际题目中快速定位解法。
想获取全文细节,请访问原文链接:https://raineblog.dpdns.org/whk/science/probability/4/
基础内容
4 大原理
四大计数原理是组合数学的根基,分别是:
加法原理:分类相加
$$
N = \sum m_n
$$
乘法原理:分步相乘
$$
N = \prod m_n
$$
减法原理:正难则反
$$
|A| = |S| - |S \setminus A| ,\; A \subseteq S
$$
除法原理:划分等价类
(常用于环形排列或对称情况下的计数)
这些原理在几乎所有计数题中都会出现,只要把问题拆解成互斥子集或独立步骤,即可直接套用。
经典例题
路径计数
从 A→B 有 2 条路,B→D 有 3 条路;
从 A→C 有 4 条路,C→D 有 5 条路。
求 A→D 的所有路径数。
解法直接使用乘法与加法原理:
2×3+4×5=26 经典应用:因数个数
给定整数 N,若其唯一素因子分解为
N=p1c1p2c2…pkck 则 N 的正因数个数为
cnt=(c1+1)(c2+1)…(ck+1) 举例:2160=24×33×5,因此
cnt=(4+1)(3+1)(1+1)=40 经典应用:子集个数
对大小为 N 的集合 S,其子集数为
其中
- 真子集:2N−1
- 非空子集:2N−1
- 非空真子集:2N−2
排列数和组合数
排列数
排列数 A(n,m) 表示从 n 件物品中取出 m 件并排成一列的方案数,公式为
A(n,m)=(n−m)!n! 当 m=n 时,A(n,n)=n!;约定 0!=1。
组合数
组合数 C(n,m)(记作 (mn))表示从 n 件物品中任选 m 件,不计顺序的方案数,公式为
(mn)=(n−m)!m!n! 关键性质包括对称性
(mn)=(n−mn) 以及递推式
(mn)=(mn−1)+(m−1n−1) 一些常用性质
乘法公式
$$
{n\choose m}{m\choose k} = {n\choose k}{n-k\choose m-k}
$$
二项式系数求和
$$
\sum_{i=0}^{n}{n\choose i}=2^{n}
$$
“正难则反”
$$
{n\choose a} = {n\choose b}\;\Longrightarrow\; a+b=n\;(a\neq b)
$$
二项式定理
基本形式
二项式定理给出
(a+b)n=i=0∑n(in)an−ibi 令 b=1 可得到
(a+1)n=i=0∑n(in)ai 杨辉三角
杨辉三角是组合数的可视化结构。递推规则为
ai,1=ai,i=1,ai,j=ai−1,j−1+ai−1,j 每行对应 (a+1)i−1 的系数。
一些性质
奇偶系数相等(当 n 为偶数)
$$
\sum_{k\text{ 偶}}{n\choose k}= \sum_{k\text{ 奇}}{n\choose k}=2^{n-1}
$$
乘积形式
$$
{2n\choose n} = \frac{(2n)!}{n!\,n!}
$$
有趣的练习题
例题:在 (x+y)(x−y)5 的展开式中,求 xny6−n 的系数。
解法利用二项式系数的交替符号,可得
(−1)n[(6−n5)−(5−n5)] 二项式定理的解题套路
- 把目标指数转化为系数求和:如求某项之和,可先代入 x=1 与 x=−1 形成线性方程组。
- 利用对称性:(in)=(n−in) 常用于化简求和范围。
- 正难则反:在计数题中常把“不满足条件”的组合计数后整体相减。
推导组合性质
从二项式定理可推出
$$
\sum_{k=0}^{n}\frac{1}{k+1}{n\choose k}= \frac{2^{\,n+1}-1}{n+1}
$$
以及交替符号版本
k=0∑nk+1(−1)k(kn)=n+11 进阶内容
容斥原理
计数时先把所有情况相加,再减去重叠部分,交叉部分加回,以此类推。公式概括为
i=1⋃mAi=i∑∣Ai∣−i<j∑∣Ai∩Aj∣+i<j<k∑∣Ai∩Aj∩Ak∣−… 示例:四位老师分配到四个班级,甲不能在 A 班、丁不能在 B 班,总方案数为
$$
4! - 2\times3! + 2! = 14
$$
鸽巢原理
若把 n+1 件物品放入 n 组,则必有至少一组包含两个或更多物品。推广为
把 n 件物品划分到 k 组,必有一组至少 ⌈kn⌉ 件。
多重集
多重集允许元素出现多次。其排列数(多重组合数)为
(n1,n2,…,nkn)=∏i=1kni!n! 若只关心选取 r 项且每种元素无限供应,则组合数为
(k−1r+k−1) 圆排列
圆形排列的方案数除以对称旋转数:
Q(n,n)=nn!=(n−1)! 一般 Q(n,m)=m(n−m)!n!。
错位排列
错位排列(或称“错位排列”)指没有任何元素出现在原位的排列,记为 Dn。闭式为
Dn=n!k=0∑nk!(−1)k 递推公式
Dn=(n−1)(Dn−1+Dn−2) 极限概率 Pn=Dn/n! 满足 $ \displaystyle\lim_{n\to\infty}P_{n}=\frac{1}{e}$。
卡特兰数
用于计数不穿越对角线的路径、合法括号序列等。显式公式
Cn=n+11(n2n) 前几项为 1,1,2,5,14,42,132,…
Lucas 定理
若 p 为素数,则
(mn)≡i∏(biai)(modp) 其中 n=∑aipi、m=∑bipi 为 p 进制展开。
广义二项式定理
对任意实数 r,
(1+x)r=k=0∑∞(kr)xk,(kr)=k!r(r−1)…(r−k+1) 适用于非整数指数的展开。
常见解题技巧和模型
特殊优先策略
先处理最受约束的对象(例如固定位置、禁止出现的元素),再对剩余部分使用通用计数公式。
等效替代策略
通过构造双射,把原始计数问题转化为更易求解的等价问题,如捆绑法、插空法。
先整体后局部策略
先确定大结构的位置(如整体排列),再在子结构内部做细分计数。
正难则反策略
先算全部方案数,再减去不满足条件的方案数,常用于“至少”类约束。
成套思想
把多项式系数的求和视为代入特定 x、y 的线性组合,例如
∑ai=[(a+1)n]x=1,∑(−1)iai=[(a+1)n]x=−1 倍缩法和可重策略
将若干对象视为“一组”,先算整体排列,再除以组内部的内部排列数。
多排问题直排策略
当分组且每组有区别时,可直接视为一次完整排列,省去额外的组合步骤。
模型和穷举策略
将题目拆解为“排数模型”和“球盒模型”,配合枚举或搜索,实现快速求解。
模型一:排数问题
例如统计不重复三位数、奇偶数等,直接使用乘法原理并结合限制条件。
模型二:球盒模型
根据球与盒子的是否同质、是否有限制,分别使用:
- 直接计数 mn(球不同、盒子不同)
- 插板公式 (m−1n+m−1)(球相同、盒子不同)
- 斯特林数(球不同、盒子相同)
- 其他限制使用容斥或分组计数。
组合数大型运算推导
下面展示两条常用求和恒等式的简洁证明,帮助你在竞赛中快速写出严谨的推导。
例 1
证明
i=0∑k(−1)i(in)=(−1)k(kn−1) 利用二项式恒等式 (in)+(i+1n)=(i+1n+1),并对上下标做适当移位,可得到所需等式。
例 2
证明
k=0∑nk+11(kn)=n+12n+1−1 先把 k+11(kn) 写成 n+11(k+1n+1),再利用二项式系数求和 ∑k=0n(k+1n+1)=2n+1−1。
这些技巧在处理带分母的组合求和时尤为有用。
想了解完整的推导过程、更多练习题以及细节解释,请访问原文链接:https://raineblog.dpdns.org/whk/science/probability/4/
祝你在组合数学的世界里玩得开心,解题更顺手!