- gf24240 的博客
《梦溪笔谈·笔记》2025/8/6~7:数学问题·排列组合
- 2025-8-7 13:48:17 @
前言[1]
吐槽一下
看到有些人做笔记都是借鉴(你懂的)Wiki 和网上其他资料的。 D 老师上课讲的不好吗?
目录:
加法原理[2]
概念: 如果一个问题有 中情况,每种情况有 种方法,则解决这个问题有 种方法。
乘法原理[3]
概念: 如果一个问题能分成 步,每步有 种方法,且解决这个问题必须连续 步,则解决这个问题有 种方法。
加法、乘法原理例题
在 ~ 中含有数字 的数有多少个?
可以算出 ~ 中有多少个数字含有 ,然后可以根据乘法原理算出 ~ 和 ~ ,再用加法原理加上 ~ 的数字,算出 ~ 的数量。以此类推。
最终答案: 。
也有其他做法( D 老师上课讲的):算出个位是 的、十位是 的和百位是 的,加起来。也可以算出答案。
排列[4]
定义: 从 个数据中选出 个数据按照一定顺序排列,叫做排列。记做 。
判断两个排列相同,不仅要数据相同,还要保证排列的顺序相同。
公式
展开之后就是这样: $\frac{n\times...\times(n-m)\times...\times1}{(n-m)\times...\times1}$ ,可以发现分子和分母都有 ,因此可以约分。约分后就是这样:
$$P^m_n=n\times(n-1)\times...\times(n-m+1)\texttt{(总共 }m\texttt{ 个数)} $$所以最后的公式就是从 开始倒数 个数的乘积。
例如从 个数中选出 个数的排列情况:
1:1 2
2:1 3
3:2 1
4:2 3
5:3 1
6:3 2
一共有 种,即 。
组合[5]
定义: 从 个数据中选出 个数据出来组成一个组,叫做组合。
判断两个组合的相同,只需要判断数据是否相同,不需要考虑顺序。
公式
方便的方法: 。当 的时候就可以这样。例如从 个数中选 个数组合:

可以发现红色框和蓝色框的数量是一致的,即 。可以这样想:要在 个人中留下 个人,可以选择留下 个人或踢出 个人。
因此,如果要算 ,可以只算 。
方便记忆的方法: 组合就是在排列的基础上去掉数据一致但顺序不同的,这个数量就是 。
特例
-
。这个毫无疑问。
-
。这可以根据上面方便的方法推导出来。而 就是 就是 。
-
。
这里用到了类似动态规划的思想。对于第 个人,有选和不选两种情况。
- 如果选:那么就是在剩下 个人中选 个名额。即 。
- 如果不选:就是在剩下 个人中选 个名额。即 。
根据加法原理,把这些情况加起来就好了。
计数方法[6]
警告:难度飙升!!!
特殊优先
课件是这样讲的:特殊元素,优先处理;特殊位置,优先考虑。
例题:六个人站成一排,求:
-
甲不在排头,乙不在排尾的排列数。
分两种情况:
-
乙在排头:
那么剩下的人可以随便选择排列。
数量就是 。
-
乙在排中:
甲和乙都在排中,那么排头和排尾分别需要一个人。去掉甲和乙的四人种人选。剩下的排中就是任意排列 。
最后的答案就是 。
- 甲不在排头,乙不在排尾,且甲乙不相邻的排列数。
捆绑法
如果要求某些元素需要相邻,可以把这些元素看称一个整体,将这个整体与其他元素排列。根据乘法原理,答案就是整体外排列 整体内排列。
例:有 个人排队,要求甲和乙要相邻,求有多少种排列方法?
把甲和乙看称一个整体,排列数就是 。甲和乙内部的顺序可以调换,排列数是 。总体的排列数就是 。
捆绑法求不相邻见排除法。
例 :把 不同的个球放进 个不同的盒子里的方法数。要求每个盒子至少要有 个球。
根据抽屉原理,得到有一个盒子会有 个球。把这两个球看成一个整体,和其他球放进盒子排列。要注意因为球是没有顺序的,所以是组合。答案: 。
插空法
如果要求某些元素不相邻,可以先将其他元素拍好,再在这些元素的间隙或两端插入要求不相邻的元素,叫做插空法。
例:有 个人排队,要求甲和乙不相邻,求有多少种排列方法?
如图:

先将其他 人排列,有 种情况。再让甲和乙在剩下 个人之间和两边的空隙中选出 个。最后答案就是 种。
排除法
先计算全部情况,再去除非法的情况,剩下就是答案。
例:有 个人排队,要求甲和乙不相邻,求有多少种排列方法?
这可以用插空法做,但是插空法不是排除法。
可以先计算所有人的全排列,再使用捆绑法计算出甲乙相邻的情况。全排列: 。甲乙相邻的情况: 。全排列减去甲乙相邻的情况: 。答案和上面相同。
隔板法
要求一些相同的元素分成若干组的情况数,这可以使用隔板法。
例:有 个名额,分给 个班级,要求每个班级都至少有 个名额,求分配情况数量。
可能看起来有点像捆绑法,但是这里要求元素相同 。
可以这样像:有 个名额摆成一列,要用隔板把它分成 个班的分配情况。如图:

很容易发现结果是 种。可以得出公式就是: 。
隔板法求不定方程解数
不定方程就是类似这样的方程: 。如果有小数或负数的话肯定是行不通的。所以这里只考虑整数。
正整数解数量
可以这样像:把 想象成 个 ,要在这 个 中插入隔板,分成 部分。于是又回到这幅图:

带入公式就能求解。
求非负整数解数量
这就有点思维了。设 ,则 。于是问题就转化为求 的正整数解的数量。
可以推导出公式: 。根据性质,也可以转化为 。
特殊排列[7]
可重复排列
即元素可重复取 (抢答:DFS 时不打标记) 。
例:有数列 ,从(可重复)中选出 个,有多少种情况。
如图:

由于可以重复,所以每一个格子都有 ~ 的选择,根据乘法原理,答案就是 。
可以推导出公式: 。
可重复组合
组合数为: 。
不全相异的全排列
例:有 个红球和 个白球,求排列方法数。
要注意交换相同颜色的球的排列是不算的。可以使用排除法,先算出所有球的全排列,除以各个球的全排列。
公式: 。
圆周排列
把 个元素排成一个圈,球排列的情况数。
需要注意是一个圆圈,所以旋转的情况不算。
也可以使用排除法。例如选 个元素,可以发现 、 和 的排列是一样的,而且数量刚好是 。所以可以推导出公式: 。