排列组合详解
一、引入#
排列组合是组合数学的基础,主要是研究各种排列和组合的情况数。
1. 加法原理#
在同一步中,有不同类别的选择,可以将各类选择方案数累加获得总方案数。
举例说明,比如从 城到达 城,坐火车有 种方案,坐飞机有 种方案。则总共有 种方案。
2. 乘法原理#
在不同步骤中,有不同种方案,可以将各步方案数累乘获得总方案数。
举例说明,比如从 城到达 城,中间需要从 城转乘。到达 城有 种方案,到达 城有 种方案。则总共有 种方案。
二、公式#
排列数:从 个不同元素中任意选出 个,按照一定顺序排成一列,叫做从 个不同元素中取出 个元素的排列数。
组合数:从 个不同元素中任意选出 个的所有组合的个数,叫做从 个不同元素中取出 个元素的组合数。
组合数的性质#
-
规定:
-
-
(从 个中抽出 个的组合数 = 抽出元素 A 的组合数 + 抽不出元素 A 的组合数)
-
三、经典题型#
1. 特殊元素和位置优先#
某些问题中对于特殊的位置有要求,要提前考虑特殊的,再去正常排列或组合其他元素。
例 :
由 可以组成多少个没有重复数字的五位奇数?
解答
由题已知,这是一个五位奇数,因此首位不能是 ,末位不能是偶数。
对于首位和末位有特殊要求,应该优先安排,以免不合要求的元素把这两个位置占掉。
先排末位共有 ,然后排首位共有 ,最后排其它位置共有
由乘法原理可以算出
变式训练 :
用 到 这 个数字,可以组成多少个没有重复数字的三位偶数?
2. 相邻元素捆绑#
有些元素不能分开,于是可以将这几个元素看作一个整体元素来进行排列组合。
例 :
人站成一排 ,其中甲乙相邻且丙丁相邻, 共有多少种不同的排法?
解答:
甲乙相邻,丙丁相邻,看作两个整体元素。
甲乙内部 种方案,丙丁内部 种方案,这两个整体元素和其他剩余 个元素进行排列,有 种方案。
则答案为
变式训练 :
记者要为 名志愿者和他们帮助的 位老人拍照,要求排成一排, 位老人相邻但不排在两端,求不同排法的数量?
3. 不相邻元素插空#
有些元素要求不能放在一起,我们可以将其他元素先排列好,再将这些不能放在一起的元素插在已经排好元素的空位中。
例 :
一个晚会的节目有 个舞蹈, 个相声, 个独唱,舞蹈节目不能连续出场,则节目的出场顺序有多少种?
解答:
第一步,先把 个相声和 个独唱排列好,共 种方案;
第二步,将这四个舞蹈插入 个空之中,共 种方案。
则答案为
变式训练 :
道路边上有编号 到 的 盏路灯,现要关掉其中的 盏,但不能关掉相邻的 盏或 盏,也不能关掉两端的路灯,则满足要求的关灯方法有几种?
4. 定序问题倍缩和空位插入#
倍缩法:对于某几个元素顺序一定的排列问题,可先把这几个元素与其他元素一起进行排列,然后用总排列数除以这几个元素之间的全排列数。
例 :
人排队,其中甲乙丙 人顺序一定,共有多少不同的排法?
解答:
法一: 先把这几个需要固定顺序的元素和其他元素一同进行排列,即 种;
然后再除以这几个元素的全排列数,即 种;
答案即为
法二: 设总共有 个位置,先让除了甲乙丙之外的 人选择位置,一共有 种方法,剩下三个位置由于甲乙丙顺序一定,只有一种排法。
变式训练 :
停车场划出一排 个停车位置,今有 辆车需要停放。要求空车位置连在一起,不同的停车方法有多少种?
5. 排列问题求幂#
例 :
把 名学生分配到 个班级,共有多少种分法?
解答:
完成这件事需要分 步,每一步都是把一名学生分班。
对于第一个学生,把他分班有 种分法,第二个学生也是如此,以此类推。
共有 种分法。
变式训练 :
随堂练习#
主要是插空法 + 高精度
作者:白简
出处:https://www.cnblogs.com/baijian0212/p/17090870.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)