排列组合初步

数学基础:公式大全:

m ∗ C n m = n ∗ C n − 1 m − 1 m*C_{n}^{m}=n*C_{n-1}^{m-1} mCnm=nCn1m1
拆开来看一看啊
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=n2n1
结合第一个式子,把每一项的系数变成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)2n2
把前面几个式子合并变形一下就好了。
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} 1Cn12Cn2+3Cn3...+(1)n1nCnn=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[i1][j1]+f[ij][j]

球相同,盒相同,不能为空:
可以利用一下上一种情况的结果: f [ i ] [ j ] − f [ i ] [ j − 1 ] f[i][j]-f[i][j-1] f[i][j]f[i][j1]就可以了

球不同,盒不同,可以为空:
直接: 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]=jf[i1][j]+f[i1][j1]

球不同,盒不同,不能为空:
比上一种情况多了一个盒不同的条件,我们先假装盒相同,然后再把上一种的答案 ∗ m ! *m! m就好了。

球不同,盒相同,可以为空:
暴力枚举有几个盒子有球,直接DP解决。

球相同,盒不同,不能为空:
隔板法解决: C n − 1 m − 1 C_{n-1}^{m-1} Cn1m1

球相同,盒不同,可以为空:
C n + m − 1 n − 1 C_{n+m-1}^{n-1} Cn+m1n1

一些其他的姿势:

错位排列 f [ n ] = ( i − 1 ) ∗ ( f [ n − 1 ] + f [ n − 2 ] ) f[n]=(i-1)*(f[n-1]+f[n-2]) f[n]=(i1)(f[n1]+f[n2])

圆排列:固定一个点先,其他的点随便排,方案就是: ( n − 1 ) ! (n-1)! (n1)!

重复排列(每个点出现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=C2nnC2nn+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值