数学基础:公式大全:
m
∗
C
n
m
=
n
∗
C
n
−
1
m
−
1
m*C_{n}^{m}=n*C_{n-1}^{m-1}
m∗Cnm=n∗Cn−1m−1
拆开来看一看啊
C
n
0
+
C
n
1
+
C
n
2
.
.
.
+
C
n
n
=
2
n
C_{n}^{0}+C_{n}^{1}+C_{n}^{2}...+C_{n}^{n}=2^{n}
Cn0+Cn1+Cn2...+Cnn=2n
这个应该比较显然,对于每一个数,选或者不选。
1
C
n
1
+
2
C
n
2
+
3
C
n
3
.
.
.
+
n
C
n
n
=
n
2
n
−
1
1C_{n}^{1}+2C_{n}^{2}+3C_{n}^{3}...+nC_{n}^{n}=n2^{n-1}
1Cn1+2Cn2+3Cn3...+nCnn=n2n−1
结合第一个式子,把每一项的系数变成n,然后提出来,用第二个式子即可
1
2
C
n
1
+
2
2
C
n
2
+
3
2
C
n
3
.
.
.
+
n
2
C
n
n
=
n
(
n
+
1
)
2
n
−
2
1^{2}C_{n}^{1}+2^{2}C_{n}^{2}+3^{2}C_{n}^{3}...+n^{2}C_{n}^{n}=n(n+1)2^{n-2}
12Cn1+22Cn2+32Cn3...+n2Cnn=n(n+1)2n−2
把前面几个式子合并变形一下就好了。
C
n
1
1
−
C
n
2
2
+
C
n
3
3
.
.
.
+
(
−
1
)
n
−
1
C
n
n
n
=
1
+
1
2
+
1
3
+
.
.
.
+
1
n
\frac{C_{n}^{1}}{1}-\frac{C_{n}^{2}}{2}+\frac{C_{n}^{3}}{3}...+(-1)^{n-1}\frac{C_{n}^{n}}{n}=1+\frac{1}{2}+\frac{1}{3}+...+\frac{1}{n}
1Cn1−2Cn2+3Cn3...+(−1)n−1nCnn=1+21+31+...+n1
23333
建模:小球和盒子
我们知道排列组合的经典模型就是小球和盒子的问题,
那么我们就可以罗列一下:
假设:N个球,M个盒子
球相同,盒相同,可以为空:
好像只能递推:
f
[
i
]
[
j
]
=
f
[
i
−
1
]
[
j
−
1
]
+
f
[
i
−
j
]
[
j
]
f[i][j]=f[i-1][j-1]+f[i-j][j]
f[i][j]=f[i−1][j−1]+f[i−j][j]
球相同,盒相同,不能为空:
可以利用一下上一种情况的结果:
f
[
i
]
[
j
]
−
f
[
i
]
[
j
−
1
]
f[i][j]-f[i][j-1]
f[i][j]−f[i][j−1]就可以了
球不同,盒不同,可以为空:
直接:
n
m
n^m
nm
球不同,盒相同,不能为空:
相当于第二类斯特林数,DP解决:
f
[
i
]
[
j
]
=
j
∗
f
[
i
−
1
]
[
j
]
+
f
[
i
−
1
]
[
j
−
1
]
f[i][j]=j*f[i-1][j]+f[i-1][j-1]
f[i][j]=j∗f[i−1][j]+f[i−1][j−1]
球不同,盒不同,不能为空:
比上一种情况多了一个盒不同的条件,我们先假装盒相同,然后再把上一种的答案
∗
m
!
*m!
∗m!就好了。
球不同,盒相同,可以为空:
暴力枚举有几个盒子有球,直接DP解决。
球相同,盒不同,不能为空:
隔板法解决:
C
n
−
1
m
−
1
C_{n-1}^{m-1}
Cn−1m−1
球相同,盒不同,可以为空:
C
n
+
m
−
1
n
−
1
C_{n+m-1}^{n-1}
Cn+m−1n−1
一些其他的姿势:
错位排列: f [ n ] = ( i − 1 ) ∗ ( f [ n − 1 ] + f [ n − 2 ] ) f[n]=(i-1)*(f[n-1]+f[n-2]) f[n]=(i−1)∗(f[n−1]+f[n−2])
圆排列:固定一个点先,其他的点随便排,方案就是: ( n − 1 ) ! (n-1)! (n−1)!
重复排列(每个点出现ai次): n ! a 1 ! + a 2 ! + . . . + a n ! \frac{n!}{a1!+a2!+...+an!} a1!+a2!+...+an!n!
斯特林数:戳这里
卡特兰数:
C
a
t
n
=
C
2
n
n
n
+
1
=
C
2
n
n
−
C
2
n
n
+
1
Cat_n=\frac{C_{2n}^{n}}{n+1}=C_{2n}^{n}-C_{2n}^{n+1}
Catn=n+1C2nn=C2nn−C2nn+1