排列组合
排列组合
之前做 CSP-J 初赛试题总是不会做排列组合的题,现在就来补坑。
阶乘
n!
(读作“n 的阶乘”)表示从1
到n
的所有整数的乘积,即:
并且规定:
排列公式
排列****强调顺序,表示从n个不同元素中取出k个元素并考虑顺序的排列方式总数,即两个排列如果顺序不同就视为不同的情况。
例如:
组合公式
组合数表示从n个不同元素中取出k个元素且不考虑顺序的组合方式总数,选出的结果中不关心排列的顺序,只关注“哪些元素被选中”。
例如:
重复元素排列公式
当元素中有重复时(如字母AABBC),全排列数需除以重复元素内部的排列数。
例如:排列AABBC,总方式为:
排列AABBC:5个位置中,2个A、2个B、1个C。
相邻问题(捆绑法)
当某几个元素必须相邻时,我们可以将它们看作是一个“大块”(一个整体),然后计算这些“大块”与其他元素的排列数。
例题
5 个人 A、B、C、D、E 排队,其中 A 和 B 必须相邻,问有多少种不同的排法?
解法
- 把 A 和 B 视为一个整体(AB),那么就相当于 4 个单元(AB、C、D、E)。
- 对这 4 个单元进行全排列:
- AB 内部也可以交换位置(AB 或 BA),即:
- 总排列数:
所以总共有 48 种
排列方式。
不相邻问题(插空法)
在排列组合问题中,如果题目要求某些元素必须 不相邻,我们可以使用插空法(Slot Method) 来解决。
当某些元素必须不相邻时,我们可以先安排其他元素,然后再把这些特殊元素插入剩余的空隙中,确保它们不会相邻。
例题
5 个人 A、B、C、D、E 排队,其中 X 和 Y 必须不相邻,问有多少种不同的排法?
解法
- 先安排 5 个人 A、B、C、D、E,总排列数:
- 形成 6 个空位(前后+中间):
- 从这 6 个空位中选 2 个放 X 和 Y:
- X 和 Y 在选定的 2 个位置上自由排列:
- 最终排列数:
至少/至多问题(补集法)
如果我们要求某种情况至少/至多出现多少次,可以先求 总情况数,再减去 不符合要求的情况,即:
补集法通常用于:
- 至少发生 X 次的情况
- 至多发生 X 次的情况
公式总结
对于时间 A:
- 至少发生 X 次:
- 至多发生 X 次:
例题
从 10 个人中选 5 个人,要求至少有 2 名女生,问有多少种选法?
解法
- 求总的选法(不考虑性别):
- 求不符合要求的情况(女生少于 2 人):
- 0 名女生(即全是男生):
- 1 名女生(其余全是男生):
- 0 名女生(即全是男生):
- 符合要求的选法:
所以至少选 2 名女生的选法有 186 种。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 技研录!
评论