排列组合非常神奇


一.计数方法

1.加法原理:

例子: 比如一个问题有n中情况,每里有mim_i种方法,so总方法数为:m1m_1 + m2m_2 + ... + mnm_n种方法。

2.乘法原理:

例子: 一只小波鼠要走到a[nn],后走到a[ii]需mim_i步,一共需要m1m_1 * m2m_2 * ... * mnm_n


二.基础概念与公式

1.排列(PermutationPermutation):

定义:nn个数据中选mm个数据按照 顺序 排队叫排列。记作PnmP^m_n

公式公式

Pnm=Anm=n!(nm)!P^m_n=A^m_n=\frac{n!}{(n-m)!}

‌全排列: PnnP^n_n = n!n!

例子: 3人排队有P33P^3_3 = 3!3! = 6种方案

2.组合 (CombinationCombination):

定义:nn 个元素中取 mm个元素‌不考虑顺序‌,记作CnmC^m_n

公式\texttt{公式}

Cnm=n!m!(nm)!C^m_n=\frac{n!}{m!(n-m)!}

三.经典解题方法

1.相邻问题 → 捆绑法

适用场景‌: 元素必须相邻。

步骤:

① 将相邻元素视为一个整体;

② 整体与其他元素排列;

③ 内部排列。

例子: A,BA,B 必须相邻,33人排队: (A,B)(A,B)CC排列 → P(2,2)×P(2,2)=4P(2,2) × P(2,2) = 4

2.‌不相邻问题 → 插空法

适用场景: 元素不能相邻。

步骤:

① 先排其他元素;

② 在空隙中插入不相邻元素。

例‌: A,BA,B 不相邻,33人排队:

先排 C(2)C(留 2 空)A,BA,B插空 → 2!×2=42! × 2 = 4

3.分组分配 → 挡板法

适用场景‌:‌相同元素‌ 分给不同组(每组非空)。

nn个相同元素分kk组:

公式公式

Cn1k1C^{k-1}_{n-1}

例子: 1010个糖分33人(每人至少11个):C92C^2_9 = 36种

4.正难则反 → 间接法

适用场景‌: 直接求解复杂时,用总数减去无效方案。

例子: 甲不在首位的排列:

总数5!,5! ,甲在首位4!12024=964! → 120 - 24 = 96