组合数学复习摘要

球与盒子模型

球(n) | 盒子(m)|空|方案数

盒子是否能空方案数
1 ( 1 − x ) ( 1 − x 2 ) … ( 1 − x m ) \frac1{(1-x)(1-x^2)…(1-x^m)} (1x)(1x2)1xm)1展开式中 x n x^n xn的系数
x m ( 1 − x ) ( 1 − x 2 ) … ( 1 − x m ) \frac{x^m}{(1-x)(1-x^2)…(1-x^m)} (1x)(1x2)1xm)xm展开式中 x n x^n xn的系数
不同 C n + m − 1 m − 1 C^{m-1}_{n+m-1} Cn+m1m1
不同 C n − 1 m − 1 C^{m-1}_{n-1} Cn1m1
不同 ∑ i = 1 m S ( n , i ) \sum_{i=1}^{m}S(n,i) i=1mS(n,i)
不同斯特林数 S ( n , m ) = S ( n − 1 , m − 1 ) + m S ( n − 1 , m ) S(n,m)=S(n-1,m-1)+mS(n-1,m) S(n,m)=S(n1,m1)+mS(n1,m)
不同不同 n m n^m nm
不同不同 m ! S ( n , m ) m!S(n,m) m!S(n,m)

排列生成算法

递增进位法

中介数: a n … … a 2 a_n……a_2 an……a2,其中 a i a_i ai i i i进制。
序数: n u m = ∑ i = 2 n a i ( i − 1 ) ! num=\sum_{i=2}^{n}a_i(i-1)! num=i=2nai(i1)!
中介数: a 2 = n u m a_2=num a2=num%2 , a 3 = [ n u m 2 ] a_3=[\frac{num}{2}] a3=[2num]%3,……
排列: a i a_i ai表示 i i i右边比它小的数

递减进位法

中介数: a 2 … … a n a_2……a_n a2……an,其中 a i a_i ai i i i进制。
序数: n u m = ∑ i = 2 n a i n ! i ! num=\sum_{i=2}^{n}a_i\frac{n!}{i!} num=i=2naii!n!
中介数: a n = n u m a_n=num an=num% n n n, a n − 1 = [ n u m n ] a_{n-1}=[\frac{num}{n}] an1=[nnum]% ( n − 1 ) (n-1) (n1),……
排列: a i a_i ai表示 i i i右边比它小的数

字典序

中介数: a n … … a 2 a_n……a_2 an……a2,其中 a i a_i ai i i i进制
所以序数求法同递增。
排列: a i a_i ai表示第 i i i位上的数字右边比它小的数

换位法

中介数: a 2 … … a n a_2……a_n a2……an,其中 a i a_i ai i i i进制
所以序数求法同递减

已知排列求中介数

eg: 875132469
则5的逆序对数定义为小于它的数排列的逆序对数,即1324的逆序对数:1,则5的箭头向右。

箭头方向:定义1,2的箭头向左,而它两的逆序对数可以看作0,所以逆序对数为偶数时箭头向左,否则向右。

可得结果 8 → \mathop{8}\limits ^{\rightarrow} 8 7 → \mathop{7}\limits ^{\rightarrow} 7 5 → \mathop{5}\limits ^{\rightarrow} 5 1 ← \mathop{1}\limits ^{\leftarrow} 1 3 ← \mathop{3}\limits ^{\leftarrow} 3 2 ← \mathop{2}\limits ^{\leftarrow} 2 4 → \mathop{4}\limits ^{\rightarrow} 4 6 → \mathop{6}\limits ^{\rightarrow} 6 9 ← \mathop{9}\limits ^{\leftarrow} 9

此时 a i a_i ai表示 i i i箭头背离一侧比它小的数的个数
则中介数: a 2 … … a n a_2……a_n a2……an=01305000

已知中介数求排列

a 2 … … a n a_2……a_n a2……an=01305000
n u m = 108360 num=108360 num=108360
( 108360 − 0 ) / 9 = 12040 ∣ 2 , ∴ 9 ← (108360-0)/9=12040| 2,\therefore 9 \leftarrow (1083600)/9=12040∣2,9
( 12040 − 0 ) / 8 = 1505 ∤ 2 , ∴ 8 → (12040-0)/8=1505\nmid2,\therefore 8 \rightarrow (120400)/8=15052,8
( 1505 − 0 ) / 7 = 215 ∤ 2 , ∴ 7 → (1505-0)/7=215\nmid 2,\therefore 7 \rightarrow (15050)/7=2152,7
( 215 − 5 ) / 6 = 35 ∤ 2 , ∴ 6 → (215-5)/6=35 \nmid 2,\therefore 6 \rightarrow (2155)/6=352,6
( 35 − 0 ) / 5 = 7 ∤ 2 , ∴ 5 → (35-0)/5=7 \nmid2,\therefore 5 \rightarrow (350)/5=72,5
( 6 − 2 ) / 4 = 1 ∤ 2 , ∴ 4 → (6-2)/4=1\nmid2,\therefore 4 \rightarrow (62)/4=12,4
( 1 − 1 ) / 3 = 0 ∣ 2 , ∴ 3 ← (1-1)/3=0 | 2,\therefore 3 \leftarrow (11)/3=0∣2,3
( 0 − 0 ) / 2 = 0 ∣ 2 , ∴ 2 ← (0-0)/2=0 | 2,\therefore 2 \leftarrow (00)/2=0∣2,2

允许重复组合(n个球,挑出r个)

1 ≤ x 1 ≤ x 2 ≤ ⋯ ≤ x r ≤ n 1\leq x_1\leq x_2\leq \cdots \leq x_r \leq n 1x1x2xrn
b i = x i + i − 1 b_i=x_i+i-1 bi=xi+i1
则有 1 ≤ b 1 < x 2 < ⋯ < x r ≤ n + r − 1 1\leq b_1< x_2< \cdots < x_r \leq n+r-1 1b1<x2<<xrn+r1
所以方案数为 C n + r − 1 r C_{n+r-1}^r Cn+r1r

不相邻组合(n个球,挑出r个)

1 ≤ x 1 < x 2 < ⋯ < x r ≤ n 1\leq x_1< x_2< \cdots < x_r \leq n 1x1<x2<<xrn
b i = x i − i + 1 b_i=x_i-i+1 bi=xii+1
则有 1 ≤ b 1 < x 2 < ⋯ < x r ≤ n − r + 1 1\leq b_1< x_2< \cdots < x_r \leq n-r+1 1b1<x2<<xrnr+1
所以方案数为 C n − r + 1 r C_{n-r+1}^r Cnr+1r

母函数

正常(用于组合)

eg
G ( x ) = ( 1 + x + x 2 ) ( 1 + x 2 + x 4 ) ⋯ G(x)=(1+x+x^2)(1+x^2+x^4)\cdots G(x)=(1+x+x2)(1+x2+x4)

指数型(用于排列)

eg
G ( x ) = ( 1 + x 1 ! + x 2 2 ! ) ( x 3 3 ! + x 5 5 ! ) ⋯ G(x)=(1+\frac{x}{1!}+\frac{x^2}{2!})(\frac{x^3}{3!}+\frac{x^5}{5!})\cdots G(x)=(1+1!x+2!x2)(3!x3+5!x5)

容斥原理

(直接用韦恩图硬搞)
eg
∣ A ‾ ∩ B ‾ ∩ C ∣ = ∣ A ∪ B ‾ ∩ C ∣ = ∣ C ∣ − ∣ C ∩ ( A ∩ B ) ∣ = ∣ C ∣ − ∣ C ∩ A ∣ − ∣ C ∩ B ∣ + ∣ C ∩ A ∩ B ∣ |\overline{A}\cap\overline{B}\cap C|=|\overline{A\cup B}\cap C|=|C|-|C\cap(A\cap B)|=|C|-|C\cap A|-|C\cap B|+|C \cap A\cap B| ABC=ABC=CC(AB)=CCACB+CAB

广义容斥

α ( m ) \alpha(m) α(m)表示至少有m种性质的个数(意味着如果一个有m+1种性质,那么它会被重复计数 C m + 1 m C_{m+1}^m Cm+1m次)
β ( m ) \beta(m) β(m)表示恰好有m种性质的个数
则显然 α ( m ) = ∑ k = m N C k m β ( k ) \alpha(m)=\sum_{k=m}^{N}C_k^m\beta(k) α(m)=k=mNCkmβ(k)
从上式可推得广义容斥原理表达式:
β ( m ) = ∑ k = m N ( − 1 ) k − m C k m α ( k ) \beta(m)=\sum_{k=m}^{N}(-1)^{k-m}C_k^m\alpha(k) β(m)=k=mN(1)kmCkmα(k)

Mobius反演

f ( m ) = ∑ d ∣ n g ( d ) f(m)=\sum_{d|n}g(d) f(m)=dng(d)
g ( m ) = ∑ d ∣ n μ ( n d ) f ( d ) g(m)=\sum_{d|n}\mu(\frac n{d} )f(d) g(m)=dnμ(dn)f(d)
其中
μ ( n ) = { 1 n = 1 0 n = p 1 α 1 p 2 α 2 ⋯ p k α k , ∃ α i > 1 ( − 1 ) k n = p 1 ⋯ p k \mu(n)=\begin{cases} 1 & n=1 \\ 0 & n=p_1^{\alpha _1}p_2^{\alpha _2}\cdots p_k^{\alpha _k},\exists{\alpha _i}>1 \\ (-1)^k & n=p_1\cdots p_k \end{cases} μ(n)= 10(1)kn=1n=p1α1p2α2pkαk,αi>1n=p1pk

可以看出,Mobius反演和上面的广义容斥好像有相同点,我查阅资料后发现,广义容斥对应二项式反演,所以它们俩才有着这种相似的形式。

例子:可重圆排列(共m个,选n位)

M ( d ) M(d) M(d)为周期为d,排n位的可重圆排列
(此处考虑周期是因为如n为9,那么如果周期为9,则线排列为9M(9),但如果周期为3,那线排列为3M(3),前面乘数不同,所以要考虑)
则我们最后的结果可表示为: A n s = ∑ d ∣ n M ( d ) Ans=\sum_{d|n}M(d) Ans=dnM(d)
而对应的线排列方案数为 d M ( d ) dM(d) dM(d)
所有线排列组合起来,是跟 m n = ∑ d ∣ n d M ( d ) m^n=\sum_{d|n}dM(d) mn=dndM(d)
d M ( d ) = ∑ d ∣ n μ ( n d ) m d dM(d)=\sum_{d|n}\mu(\frac n{d})m^d dM(d)=dnμ(dn)md

欧拉函数

φ ( n ) \varphi(n) φ(n)表示 1 ∼ n 1\sim n 1n中与n互素的数的个数
( n , m ) = 0 (n,m)=0 (n,m)=0,则 φ ( m n ) = φ ( n ) φ ( m ) \varphi(mn)=\varphi(n)\varphi(m) φ(mn)=φ(n)φ(m)
(即欧拉函数为积性函数)
φ ( 1 ) = 1 \varphi(1)=1 φ(1)=1
当p为素数时, φ ( p ) = p − 1 \varphi(p)=p-1 φ(p)=p1,且 φ ( p k ) = p k − p k − 1 \varphi(p^k)=p^k-p^{k-1} φ(pk)=pkpk1
则,令 n = p 1 α 1 p 2 α 2 ⋯ p k α k n=p_1^{\alpha _1}p_2^{\alpha _2}\cdots p_k^{\alpha _k} n=p1α1p2α2pkαk
由上面四点性质,我们就很方便的知道它如何算了:
φ ( n ) = n ( 1 − 1 p 1 ) ( 1 − 1 p 2 ) ⋯ ( 1 − 1 p k ) \varphi(n)=n(1-\frac1{p_1})(1-\frac1{p_2})\cdots(1-\frac1{p_k}) φ(n)=n(1p11)(1p21)(1pk1)

鸽巢原理

生死有命,富贵在天
名利看淡,一切随缘
在这里插入图片描述

Polya定理

置换群 G ‾ \overline{G} G,将 1 ∼ n 1\sim n 1n用m种颜色涂色,方案数为
l = 1 ∣ G ‾ ∣ ∣ m c ( P 1 ) + m c ( P 2 ) + ⋯ + m c ( P l ) ∣ l=\frac1{|\overline{G}|}|m^{c(P_1)}+m^{c(P_2)}+\cdots+m^{c(P_l)}| l=G1mc(P1)+mc(P2)++mc(Pl)

eg

正方形分成4个格子,旋转后相同的图案视作一种图案。

12
43

(大致图案如上,我不知道咋在csdn上画正方形)
2着色,则
P 0 = ( 1 ) ( 2 ) ( 3 ) ( 4 ) P_0=(1)(2)(3)(4) P0=(1)(2)(3)(4)
P 1 = ( 1234 ) P_1=(1 2 3 4) P1=(1234)
P 2 = ( 4321 ) P_2=(4 3 2 1) P2=(4321)
P 3 = ( 13 ) ( 24 ) P_3=(1 3)(2 4) P3=(13)(24)

格式置换循环节
( 1 ) 4 (1)^4 (1)414
( 4 ) 1 (4)^1 (4)121
( 2 ) 2 (2)^2 (2)212

则方案数为
l = 1 1 + 2 + 1 ∣ 1 ⋅ 2 4 + 2 ⋅ 2 1 + 1 ⋅ 2 2 ∣ = 6 l=\frac1{1+2+1}|1\cdot2^4+2\cdot2^1+1\cdot2^2|=6 l=1+2+11∣124+221+122=6

等边三角形

P 0 = ( 1 ) ( 2 ) ( 3 ) P_0=(1)(2)(3) P0=(1)(2)(3)
P 1 = ( 123 ) P_1=(1 2 3) P1=(123)
P 2 = ( 321 ) P_2=(3 2 1) P2=(321)
P 3 = ( 1 ) ( 23 ) P_3=(1)(2 3) P3=(1)(23)
P 4 = ( 2 ) ( 13 ) P_4=(2)(1 3) P4=(2)(13)
P 5 = ( 3 ) ( 12 ) P_5=(3)(1 2) P5=(3)(12)

格式置换循环节
( 1 ) 3 (1)^3 (1)313
( 1 ) 1 ( 2 ) 2 (1)^1(2)^2 (1)1(2)232
( 3 ) 1 (3)^1 (3)121

正四面体顶点

不动: P 0 = ( 1 ) ( 2 ) ( 3 ) ( 4 ) P_0=(1)(2)(3)(4) P0=(1)(2)(3)(4)
固定一个顶点+顺逆时针旋转: 2 ∗ 4 ∗ P 1 = ( 1 ) ( 234 ) 2*4*P_1=(1)(2 3 4) 24P1=(1)(234)
绕两对边的中点连成的轴(6条边): 3 ∗ P = ( 13 ) ( 24 ) 3*P=(1 3)(2 4) 3P=(13)(24)

格式置换循环节
( 1 ) 4 (1)^4 (1)414
( 1 ) 1 ( 3 ) 1 (1)^1(3)^1 (1)1(3)182
( 2 ) 2 (2)^2 (2)232

正方体面

不动: P 0 = ( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 ) P_0=(1)(2)(3)(4)(5)(6) P0=(1)(2)(3)(4)(5)(6)
面心-面心: 9 0 ∘ : 90^{\circ}: 90: 2 ∗ 3 ∗ P = ( 1 ) ( 6 ) ( 2345 ) 2*3*P=(1)(6)(2 3 4 5) 23P=(1)(6)(2345)
18 0 ∘ : 180^{\circ}: 180: 3 ∗ P = ( 1 ) ( 6 ) ( 24 ) ( 35 ) 3*P=(1)(6)(2 4)(3 5) 3P=(1)(6)(24)(35)
棱心-棱心(12条棱): 6 ∗ P = ( 14 ) ( 26 ) ( 35 ) 6*P=(1 4)(2 6)(3 5) 6P=(14)(26)(35)
顶点-顶点: 2 ∗ 4 ∗ P = ( 145 ) ( 236 ) 2*4*P=(1 4 5)(2 3 6) 24P=(145)(236)

格式置换循环节
( 1 ) 6 (1)^6 (1)616
( 1 ) 2 ( 4 ) 1 (1)^2(4)^1 (1)2(4)163
( 1 ) 1 ( 2 ) 2 (1)^1(2)^2 (1)1(2)234
( 2 ) 3 (2)^3 (2)363
( 3 ) 2 (3)^2 (3)282

正方体顶点

不动: P 0 = ( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 ) ( 7 ) ( 8 ) P_0=(1)(2)(3)(4)(5)(6)(7)(8) P0=(1)(2)(3)(4)(5)(6)(7)(8)
面心-面心: 9 0 ∘ : 90^{\circ}: 90: 2 ∗ 3 ∗ P = ( 1234 ) ( 5678 ) 2*3*P=(12 3 4 )(5678) 23P=(1234)(5678)
18 0 ∘ : 180^{\circ}: 180: 3 ∗ P = ( 13 ) ( 24 ) ( 57 ) ( 68 ) 3*P=(13)(2 4)(57)(68) 3P=(13)(24)(57)(68)
棱心-棱心(12条棱): 6 ∗ P = ( 12 ) ( 46 ) ( 35 ) ( 78 ) 6*P=(1 2)(4 6)(3 5)(78) 6P=(12)(46)(35)(78)
顶点-顶点: 2 ∗ 4 ∗ P = ( 1 ) ( 7 ) ( 245 ) ( 368 ) 2*4*P=(1)(7)(2 4 5)(3 68) 24P=(1)(7)(245)(368)

格式置换循环节
( 1 ) 8 (1)^8 (1)818
( 4 ) 2 (4)^2 (4)262
( 2 ) 4 (2)^4 (2)434
( 2 ) 4 (2)^4 (2)464
( 1 ) 2 ( 3 ) 2 (1)^2(3)^2 (1)2(3)284

母函数形式的Polya定理

P ( G ) = 1 ∣ G ∣ ∑ i = 1 l ∏ k = 1 n ( b 1 k + b 2 k + ⋯ + b m k ) c k ( P i ) P(G)=\frac1{|G|}\sum_{i=1}^l\prod_{k=1}^n(b_1^k+b2^k+\cdots+b_m^k)^{c_k(P_i)} P(G)=G1i=1lk=1n(b1k+b2k++bmk)ck(Pi)
原定理:
l = 1 ∣ G ‾ ∣ ∣ m c ( P 1 ) + m c ( P 2 ) + ⋯ + m c ( P l ) ∣ l=\frac1{|\overline{G}|}|m^{c(P_1)}+m^{c(P_2)}+\cdots+m^{c(P_l)}| l=G1mc(P1)+mc(P2)++mc(Pl)

Ramsey问题

r ( a , b ) = r ( b , a ) r(a,b)=r(b,a) r(a,b)=r(b,a)
r ( a , 2 ) = a r(a,2)=a r(a,2)=a
a , b ≥ 2 时 , r ( a , b ) ≤ r ( a − 1 , b ) + r ( a , b − 1 ) a,b\geq2时,r(a,b)\leq r(a-1,b)+r(a,b-1) a,b2,r(a,b)r(a1,b)+r(a,b1)

拉丁方

n = p 1 α 1 p 2 α 2 ⋯ p k α k n=p_1^{\alpha _1}p_2^{\alpha _2}\cdots p_k^{\alpha _k} n=p1α1p2α2pkαk
则n阶拉丁方存在r个正交拉丁方
r = m i n { p 1 α 1 , p 2 α 2 , ⋯   , p k α k } − 1 r=min\{p_1^{\alpha _1},p_2^{\alpha _2},\cdots ,p_k^{\alpha _k}\}-1 r=min{p1α1,p2α2,,pkαk}1

BIBD

(b,v,r,k, λ ) \lambda) λ)-设计
v个元素,分入b个子集中,使每个元素恰出现在r个子集中,每对元素恰出现在 λ \lambda λ个子集中,其中每个子集有k个元素
v r = b k vr=bk vr=bk
λ ( v − 1 ) = r ( k − 1 ) \lambda(v-1)=r(k-1) λ(v1)=r(k1)
b ≥ v b\geq v bv

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值