组合数学——第一讲

本文深入讲解排列与组合的基本原理,包括加法、乘法、减法及除法原理,探讨基本计数问题,并详细解析排列数与组合数的计算方法。通过二项式定理、比例关系等揭示组合数的特性,同时介绍多重集合排列与组合的应用。

排列与组合

基本原理

加法原理

{S1,S2,⋯ ,Sn}\{ S_1 , S_2, \cdots , S_n\}{S1,S2,,Sn} is a partition of SSS then :

∣S∣=∑i=1n∣Si∣ |S| = \sum_{i=1}^{n} {|S_i |}S=i=1nSi

乘法原理

SSS is the set of some ordered pair<a,b><a,b><a,b>, if S={<a,b>∣a∈P,b∈Q}S = \{ <a,b> | a \in P , b \in Q \}S={<a,b>aP,bQ} then:

∣S∣=∣P∣×∣Q∣|S| = |P| \times |Q|S=P×Q

减法原理

S‾\overline{S}S is the commplement set of SSS , when UUU is the universal set :

S=∣U∣−∣S‾∣S = |U| - |\overline{S}|S=US

除法原理

If there is a k-to-1 correspondence between of objects of type A with objects of type B, and there are ∣A∣|A|A objects of type A, then there are∣A∣k\frac{|A|}{k}kA objects of type B.

基本计数问题

在计数之前需要弄清楚:

  1. 是否有序
  2. 是否有标号
  3. 是否有限制条件
  4. 有限集还是无限集
  5. 是否可重
  6. 尝试一个小例子验证上述问题

排列数

P(n,r)P(n,r)P(n,r)表示从nnn个元素中有序地选择rrr个元素的方案数。P(n,r)=n!(n−r)!P(n,r) = \frac{n!}{(n-r)!}P(n,r)=(nr)!n!

其中循环排列的个数是P(n,r)r\frac{P(n,r)}{r}rP(n,r)

组合数

(nr)\binom{n}{r}(rn)表示从nnn个元素中选择-rrr个元素作为一个集合的方案数(无序)。通常 (nr)=n!r!(n−r)! \binom{n}{r} = \frac{n!}{r!(n-r)!} (rn)=r!(nr)!n!

特别的规定(00)=1\binom{0}{0} = 1(00)=1

二项式系数的特征

二项式定理

组合数又称做二项式系数,这是因为知名的二项式定理

(x+y)n=∑i=0n(ni)xiyn−i (x+y)^n = \sum_{i=0}^{n} \binom{n}{i} x^i y^{n-i} (x+y)n=i=0n(in)xiyni

一个特例是:∑i=0n(ni)=2n\sum_{i=0}^{n} \binom{n}{i} = 2^ni=0n(in)=2n表示组合数的和。

另一个特例是:选择奇数个元素和偶数个元素的方案数一样多∑i=0n(−1)i(ni)=0\sum_{i=0}^{n} (-1)^{i} \binom{n}{i} = 0i=0n(1)i(in)=0

比例关系
  1. (nr−1)(n−r+1)=(nr)r \binom{n}{r-1} (n-r+1) = \binom{n}{r} r (r1n)(nr+1)=(rn)r

    这变相的解释了组合数(ni)\binom{n}{i}(in)关于iii的最值。

  2. (n−1r−1)n=(nr)r\binom{n-1}{r-1} n = \binom{n}{r} r(r1n1)n=(rn)r

Pascal

(nr)=(n−1r)+(n−1r−1) \binom{n}{r} = \binom{n-1}{r} + \binom{n-1}{r-1} (rn)=(rn1)+(r1n1)

对称性

(nr)=(nn−r) \binom n r = \binom n {n-r}(rn)=(nrn)

组合数的和

(n+1r+1)=(nr)+(n−1r)+⋯+(rr) \binom {n+1} {r+1} = \binom n r + \binom {n-1} r + \cdots + \binom r r (r+1n+1)=(rn)+(rn1)++(rr)

组合数的卷积(Vandermonde卷积)

(n+mk)=∑i=0k(ni)(mk−i) \binom {n+m} k = \sum_{i=0}^{k} \binom n i \binom m {k-i} (kn+m)=i=0k(in)(kim)

(2nn)=∑i=0n(ni)2\binom {2n} n = \sum_{i=0}^{n} {\binom n i}^2(n2n)=i=0n(in)2

二项式反演

利用组合数在两类计数序列中可以建立下述联系

fn=∑i=0n(−1)i(ni)gi⇔gn=∑i=0n(−1)i(ni)fi f_n = \sum_{i=0}^{n} (-1)^{i} \binom{n}{i} g_i \Leftrightarrow g_n = \sum_{i=0}^{n} (-1)^{i} \binom n i f_i fn=i=0n(1)i(in)gign=i=0n(1)i(in)fi

fn=∑i=0n(ni)gi⇔gn=∑i=0n(−1)n−i(ni)fi f_n = \sum_{i=0}^{n} \binom{n}{i} g_i \Leftrightarrow g_n = \sum_{i=0}^{n} (-1)^{n-i} \binom n i f_i fn=i=0n(in)gign=i=0n(1)ni(in)fi

一个经典的策略是解决错排问题,假设已知错排数为DnD_nDn则有

n!=∑i=0n(ni)Din! = \sum_{i=0}^{n} \binom n i D_in!=i=0n(in)Di 即枚举每种排列中错位的位置,并对这些位置错排。

Dn=∑i=0n(−1)n−i(ni)i!=∑i=0n(−1)n−in!(n−i)!=n!∑i=0n(−1)ii! \begin{aligned} D_n & = \sum_{i=0}^n (-1)^{n-i} \binom n i i! \\ & = \sum_{i=0}^n (-1)^{n-i} \frac{n!}{(n-i)!} \\ & = n! \sum_{i=0}^{n} \frac{(-1)^i}{i!} \end{aligned} Dn=i=0n(1)ni(in)i!=i=0n(1)ni(ni)!n!=n!i=0ni!(1)i

多重集合排列

问题定义,有kkk中元素,有序选出其中rrr个元素的排列数:

  1. 无限情形 krk^rkr
  2. 有限情形,第iii中元素有nin_ini个,r=∑nir = \sum {n_i}r=ni ,则r!n1!n2!⋯nk!\frac{r!}{n_1 ! n_2 ! \cdots n_k !}n1!n2!nk!r!。这同样是把一个集合划分成kkk个有标号的集合的方案数。
  3. 有限情形的另一个情况需要生成函数。考虑每种元素对应的如下多项式,若有无限个,对应fi(x)=exf_i(x) = e^xfi(x)=ex,如果为kkk个对应fi(x)=∑i=0kxii!f_i(x) = \sum_{i=0}^{k} \frac{x^i}{i!}fi(x)=i=0ki!xi,故求∏fi(x)\prod f_i(x) fi(x)可以得到其指数生成函数。

多重集合的组合

问题定义,有kkk中元素,选出其中rrr个元素的组合数:

  1. 无限情形 (r+k−1r)=(r+k−1k−1)\binom {r+k-1} r = \binom {r+k-1}{k-1}(rr+k1)=(k1r+k1)
  2. 有限情形 {a1⋅k1,a2⋅k2,⋯an⋅kn}\{a_1 \cdot k_1, a_2 \cdot k_2 , \cdots a_n \cdot k_n\}{a1k1,a2k2,ankn}这样的有穷集合。
    • 对于ai⋅kia_i \cdot k_iaiki 考虑问题的反面,即不满足此条件的方案数为AiA_iAi
    • 问题变成 ∣⋂Ai‾∣=∑s′∈2A(−1)∣s′∣s′| \bigcap \overline{A_i} | = \sum_{ s' \in 2^A } (-1)^{|s'|} s'Ai=s2A(1)ss
    • 按照情况枚举所有可能即可。
  3. 对于有下界的情形,做换元即可。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值