球与盒子模型
球(n) | 盒子(m)|空|方案数
球 | 盒子 | 是否能空 | 方案数 |
---|---|---|---|
同 | 同 | 是 | 1 ( 1 − x ) ( 1 − x 2 ) … ( 1 − x m ) \frac1{(1-x)(1-x^2)…(1-x^m)} (1−x)(1−x2)…(1−xm)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)} (1−x)(1−x2)…(1−xm)xm展开式中 x n x^n xn的系数 |
同 | 不同 | 是 | C n + m − 1 m − 1 C^{m-1}_{n+m-1} Cn+m−1m−1 |
同 | 不同 | 否 | C n − 1 m − 1 C^{m-1}_{n-1} Cn−1m−1 |
不同 | 同 | 是 | ∑ i = 1 m S ( n , i ) \sum_{i=1}^{m}S(n,i) i=1∑mS(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(n−1,m−1)+mS(n−1,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(i−1)!
中介数:
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}]
an−1=[nnum]%
(
n
−
1
)
(n-1)
(n−1),……
排列:
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
(108360−0)/9=12040∣2,∴9←
(
12040
−
0
)
/
8
=
1505
∤
2
,
∴
8
→
(12040-0)/8=1505\nmid2,\therefore 8 \rightarrow
(12040−0)/8=1505∤2,∴8→
(
1505
−
0
)
/
7
=
215
∤
2
,
∴
7
→
(1505-0)/7=215\nmid 2,\therefore 7 \rightarrow
(1505−0)/7=215∤2,∴7→
(
215
−
5
)
/
6
=
35
∤
2
,
∴
6
→
(215-5)/6=35 \nmid 2,\therefore 6 \rightarrow
(215−5)/6=35∤2,∴6→
(
35
−
0
)
/
5
=
7
∤
2
,
∴
5
→
(35-0)/5=7 \nmid2,\therefore 5 \rightarrow
(35−0)/5=7∤2,∴5→
(
6
−
2
)
/
4
=
1
∤
2
,
∴
4
→
(6-2)/4=1\nmid2,\therefore 4 \rightarrow
(6−2)/4=1∤2,∴4→
(
1
−
1
)
/
3
=
0
∣
2
,
∴
3
←
(1-1)/3=0 | 2,\therefore 3 \leftarrow
(1−1)/3=0∣2,∴3←
(
0
−
0
)
/
2
=
0
∣
2
,
∴
2
←
(0-0)/2=0 | 2,\therefore 2 \leftarrow
(0−0)/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
1≤x1≤x2≤⋯≤xr≤n
令
b
i
=
x
i
+
i
−
1
b_i=x_i+i-1
bi=xi+i−1
则有
1
≤
b
1
<
x
2
<
⋯
<
x
r
≤
n
+
r
−
1
1\leq b_1< x_2< \cdots < x_r \leq n+r-1
1≤b1<x2<⋯<xr≤n+r−1
所以方案数为
C
n
+
r
−
1
r
C_{n+r-1}^r
Cn+r−1r
不相邻组合(n个球,挑出r个)
1
≤
x
1
<
x
2
<
⋯
<
x
r
≤
n
1\leq x_1< x_2< \cdots < x_r \leq n
1≤x1<x2<⋯<xr≤n
令
b
i
=
x
i
−
i
+
1
b_i=x_i-i+1
bi=xi−i+1
则有
1
≤
b
1
<
x
2
<
⋯
<
x
r
≤
n
−
r
+
1
1\leq b_1< x_2< \cdots < x_r \leq n-r+1
1≤b1<x2<⋯<xr≤n−r+1
所以方案数为
C
n
−
r
+
1
r
C_{n-r+1}^r
Cn−r+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|
∣A∩B∩C∣=∣A∪B∩C∣=∣C∣−∣C∩(A∩B)∣=∣C∣−∣C∩A∣−∣C∩B∣+∣C∩A∩B∣
广义容斥
α
(
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)k−mCkmα(k)
Mobius反演
令
f
(
m
)
=
∑
d
∣
n
g
(
d
)
f(m)=\sum_{d|n}g(d)
f(m)=∑d∣ng(d)
则
g
(
m
)
=
∑
d
∣
n
μ
(
n
d
)
f
(
d
)
g(m)=\sum_{d|n}\mu(\frac n{d} )f(d)
g(m)=∑d∣nμ(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α2⋯pkαk,∃αi>1n=p1⋯pk
可以看出,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=∑d∣nM(d)
而对应的线排列方案数为
d
M
(
d
)
dM(d)
dM(d)
所有线排列组合起来,是跟
m
n
=
∑
d
∣
n
d
M
(
d
)
m^n=\sum_{d|n}dM(d)
mn=∑d∣ndM(d)
d
M
(
d
)
=
∑
d
∣
n
μ
(
n
d
)
m
d
dM(d)=\sum_{d|n}\mu(\frac n{d})m^d
dM(d)=∑d∣nμ(dn)md
欧拉函数
φ
(
n
)
\varphi(n)
φ(n)表示
1
∼
n
1\sim n
1∼n中与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)=p−1,且
φ
(
p
k
)
=
p
k
−
p
k
−
1
\varphi(p^k)=p^k-p^{k-1}
φ(pk)=pk−pk−1
则,令
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α2⋯pkα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(1−p11)(1−p21)⋯(1−pk1)
鸽巢原理
生死有命,富贵在天
名利看淡,一切随缘
Polya定理
置换群
G
‾
\overline{G}
G,将
1
∼
n
1\sim n
1∼n用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=∣G∣1∣mc(P1)+mc(P2)+⋯+mc(Pl)∣
eg
正方形分成4个格子,旋转后相同的图案视作一种图案。
1 | 2 |
---|---|
4 | 3 |
(大致图案如上,我不知道咋在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)4 | 1 | 4 |
( 4 ) 1 (4)^1 (4)1 | 2 | 1 |
( 2 ) 2 (2)^2 (2)2 | 1 | 2 |
则方案数为
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∣1⋅24+2⋅21+1⋅22∣=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)3 | 1 | 3 |
( 1 ) 1 ( 2 ) 2 (1)^1(2)^2 (1)1(2)2 | 3 | 2 |
( 3 ) 1 (3)^1 (3)1 | 2 | 1 |
正四面体顶点
不动:
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)
2∗4∗P1=(1)(234)
绕两对边的中点连成的轴(6条边):
3
∗
P
=
(
13
)
(
24
)
3*P=(1 3)(2 4)
3∗P=(13)(24)
格式 | 置换 | 循环节 |
---|---|---|
( 1 ) 4 (1)^4 (1)4 | 1 | 4 |
( 1 ) 1 ( 3 ) 1 (1)^1(3)^1 (1)1(3)1 | 8 | 2 |
( 2 ) 2 (2)^2 (2)2 | 3 | 2 |
正方体面
不动:
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)
2∗3∗P=(1)(6)(2345)
18
0
∘
:
180^{\circ}:
180∘:
3
∗
P
=
(
1
)
(
6
)
(
24
)
(
35
)
3*P=(1)(6)(2 4)(3 5)
3∗P=(1)(6)(24)(35)
棱心-棱心(12条棱):
6
∗
P
=
(
14
)
(
26
)
(
35
)
6*P=(1 4)(2 6)(3 5)
6∗P=(14)(26)(35)
顶点-顶点:
2
∗
4
∗
P
=
(
145
)
(
236
)
2*4*P=(1 4 5)(2 3 6)
2∗4∗P=(145)(236)
格式 | 置换 | 循环节 |
---|---|---|
( 1 ) 6 (1)^6 (1)6 | 1 | 6 |
( 1 ) 2 ( 4 ) 1 (1)^2(4)^1 (1)2(4)1 | 6 | 3 |
( 1 ) 1 ( 2 ) 2 (1)^1(2)^2 (1)1(2)2 | 3 | 4 |
( 2 ) 3 (2)^3 (2)3 | 6 | 3 |
( 3 ) 2 (3)^2 (3)2 | 8 | 2 |
正方体顶点
不动:
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)
2∗3∗P=(1234)(5678)
18
0
∘
:
180^{\circ}:
180∘:
3
∗
P
=
(
13
)
(
24
)
(
57
)
(
68
)
3*P=(13)(2 4)(57)(68)
3∗P=(13)(24)(57)(68)
棱心-棱心(12条棱):
6
∗
P
=
(
12
)
(
46
)
(
35
)
(
78
)
6*P=(1 2)(4 6)(3 5)(78)
6∗P=(12)(46)(35)(78)
顶点-顶点:
2
∗
4
∗
P
=
(
1
)
(
7
)
(
245
)
(
368
)
2*4*P=(1)(7)(2 4 5)(3 68)
2∗4∗P=(1)(7)(245)(368)
格式 | 置换 | 循环节 |
---|---|---|
( 1 ) 8 (1)^8 (1)8 | 1 | 8 |
( 4 ) 2 (4)^2 (4)2 | 6 | 2 |
( 2 ) 4 (2)^4 (2)4 | 3 | 4 |
( 2 ) 4 (2)^4 (2)4 | 6 | 4 |
( 1 ) 2 ( 3 ) 2 (1)^2(3)^2 (1)2(3)2 | 8 | 4 |
母函数形式的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)=∣G∣1∑i=1l∏k=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=∣G∣1∣mc(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,b≥2时,r(a,b)≤r(a−1,b)+r(a,b−1)
拉丁方
令
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α2⋯pkα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)
λ(v−1)=r(k−1)
b
≥
v
b\geq v
b≥v