组合数学

1. 加法原理与乘法原理

分类用加法。

分步用乘法。

2. 排列组合

2.1 排列数

排列数的定义:从 nn 个物体选出 rr 个物体(有序)的方案数。

记作 Anr=n×(n1)××(nr+1)A_n^r=n\times (n-1)\times \cdots\times (n-r+1)

2.2 组合数

组合数的定义:从 nn 个物体选出 rr 个物体(无序)的方案数。

记作 Cnr=Anrr!=n!r!(nr)!=(nr)C_n^r=\dfrac{A_n^r}{r!}=\dfrac{n!}{r!(n-r)!}=\dbinom nr

一般写作 (nr)\dbinom nr

2.3 其他计数方法

  • 捆绑法
    例:77 人站一排,甲乙站一起,丙丁站一起,问排法数。

2×2×A55=4802\times2\times A_5^5=480

  • 隔板法
    例:44 个舞蹈节目,22 个相声节目,33 个独唱节目,舞台节目不连续出场,问出场顺序数?

A55×A64=43200A_5^5\times A_6^4=43200

  • 环形计数
    例:88 人围桌坐,问坐法数?

8!÷8=7!8!\div 8=7!

  • 可重集计数
    例:有 nn 类东西,每种 aia_i 个,问其排列种数。

(ai)!ai!\dfrac{(\sum a_i)!}{\prod a_i!}

3. 组合数的计算

3.1 递推

假设已知 Cn1kC^{k}_{n-1},那么对于 CnmC^m_n 来说,要么多增加的那一个拿,要么不拿。故:

Cnm=Cn1m+Cn1m1C^m_n=C^m_{n-1}+C^{m-1}_{n-1}

3.2 逆元

n!m!(nm)!modp=n!(m!(nm)!)1modp\dfrac{n!}{m!(n-m)!}\bmod p=n!(m!(n-m)!)^{-1}\bmod p

(别忘了 a1a^{-1} 是逆元)

3.3 吸收恒等式

Cnr=nrCn1r1C^r_n=\dfrac{n}{r}C_{n-1}^{r-1}

3.4 组合数常用公式

  • 递推公式
Cnm=Cn1m+Cn1m1C^m_n=C^m_{n-1}+C^{m-1}_{n-1}
  • 互补性
(nm)=(nnm)\begin{pmatrix}n\\m\end{pmatrix}=\begin{pmatrix}n\\n-m\end{pmatrix}
  • 上指标求和
i=mn(mi)=(n+1m+1)\sum\limits^n_{i=m}\dbinom mi=\dbinom {n+1}{m+1}
  • 二项式定理
(a+b)n=i=0n(ni)aibni(a+b)^n=\sum\limits_{\color{red}{i=0}}^n\dbinom nia^ib^{n-i}

一些常用的二项式定理:

(1+1)n=i=0n(ni)1i1ni=i=0n(ni)=2n(1+1)^n=\sum\limits_{i=0}^n\dbinom ni1^i1^{n-i}=\sum\limits_{i=0}^n\dbinom ni=2^n (11)n=i=0n(ni)1i(1)ni=i=0n(1)ni(ni)=0(1-1)^n=\sum\limits_{i=0}^n\dbinom ni1^i(-1)^{n-i}=\sum\limits_{i=0}^n(-1)^{n-i}\dbinom ni=0
  • 范德蒙德卷积
i=0k(ni)(mki)=(n+mk)\sum\limits^k_{i=0}\dbinom{n}{i}\dbinom{m}{k-i}=\dbinom{n+m}{k}

一些常用的范德蒙德卷积:

(ni)2=(2nn)\sum \dbinom{n}{i}^2=\dbinom {2n}n

3.5 插板法

例题:青原樱

由于要插 m1m-1 个板子,所以实际上能放的格子只有 nm+1n-m+1 个。

所以答案为 (mnm+1)\dbinom{m}{n-m+1}

4. 小球&盒子

(n)(n) (m)(m) 可空? 答案
相同 相同 partition(n+m,m)\text{partition}(n+m,m)
相同 相同 partition(n,m)\text{partition}(n,m)
相同 不同 (n+m1m1)\dbinom {n+m-1}{m-1}
相同 不同 (n1m1)\dbinom{n-1}{m-1}
不同 相同 i=1nS(n,i)=i=1n{ni}\sum\limits^n_{i=1}S(n,i)=\sum\limits^n_{i=1}{n\brace{i}}
不同 相同 S(n,m)={nm}S(n,m)={{n}\brace{m}}
不同 不同 mnm^n
不同 不同 m!S(n,m)=m!{nm}m!S(n,m)=m!{{n}\brace{m}}
  • partition(n,m)\text{partition}(n,m) 表示把 nn 个相同的球放到 mm 个相同的盒子的方案数/把数字 nn 分成 mm 个部分的方案数。计算方法:
f(n,k)=f(n1,k1)+f(nk,k)f(n,k)=f(n-1,k-1)+f(n-k,k)
  • S(n,m)S(n,m) 是斯特林数。

5. 卡特兰数

5.1 引入

(0,0)(n,n)(0,0)\to(n,n) 的方案数。(不触碰 y=x+1y=x+1

5.2 卡特兰数的定义

CnC_n 表示长度为 2n2n 的合法括号序列数。

例如:C2=2C_2=2,原因如下:

(()) ()()

显然,对于任意前 nn 个括号,左括号数定不小于右括号数。

5.3 计算卡特兰数

显然引入的答案就是卡特兰数。

A=(0,0)(n,n)所有不合法方案数,B=(0,0)(n,n)所有路径A=\texttt{从}(0,0)\to (n,n)\texttt{所有不合法方案数},B=\texttt{从}(0,0)\to (n,n)\texttt{所有路径}

A=(2nn1),B=(2nn)A=\dbinom{2n}{n-1},B=\dbinom{2n}{n},答案为 ABA-B

5.4 小朋友的球

  • dpi,j=dpi1,j1+dpi1,j×jdp_{i,j}=dp_{i-1,j-1}+dp_{i-1,j}\times j
posted @ 2024-07-12 09:10  sLMxf  阅读(52)  评论(0)    收藏  举报  来源