2018.6清北学堂day5上午(计数)

本文介绍了组合数学的基础概念,包括排列组合的基本公式、杨辉三角形的应用、斯特林数及卡特兰数等内容,并探讨了不同场景下的组合计数方法。

推荐的书和网站

具体数学
组合数学 richard
oeis.org


Sample

1.用数字090−9每个恰好一次共能产生多少个排列
10!10!,那如果首位不为0呢?10!9!10!−9!

2.一个小tip若有理数mnmn是无限小数,则必然是无限循环小数

3.字母afa−f按顺序入栈,但随时可以出栈,形成的出栈序列有132种(卡特兰数

4.将2*2的网格黑白染色,旋转不同构的染色方案有6种

组合数相关

加法原理

乘法原理

鸽笼原理(抽屉原理)
(图论上的应用) RamseyRamsey定理

排列
n个元素的集合,写成一个序列的方式有A(n)=n!A(n)=n!P(n)=n!P(n)=n!

需要注意的是

0!=10!=1

如果是排成一个环

就是n!n=(n1)!n!n=(n−1)!
因为,对于原来的每一种排列,都能找到另外的n1n−1个排列,与它在排成环的情况下相等

错排

f[i]=(n1)(f[i1]+f[i2]f[i]=(n−1)∗(f[i−1]+f[i−2]

我们考虑第n个人如果放在第i个人的位置上,如果i放在n的位置上,那么剩下的情况就是f[n2]f[n−2],如果i不在n的位置上,又相当于求了一个f[n1]f[n−1],因为i有n1n−1种取值,所以就像上述的式子了

多重集的全排列

元素可以重复的集合的全排列

ans=n!n1!n2!ans=n!n1!n2!⋯

组合数

(nm)(nm) =n!m!(nm)!n!m!(n−m)!

n个元素选m个的方案数

其中(n0)(n0)=1

杨辉三角形可以用来算组合数

n个相同的球,放到m个不同的盒子里
1>每个盒子至少有一个球
隔板法
(n1m1)(n−1m−1)

2>盒子可以为空
(n+m1m1)(n+m−1m−1) 相当于n+m个球,分到m组

3>至少两个球
我们考虑先把每个盒子填一个球,那么就变成了nmn−m个球,然后放的时候要求每个盒子至少有一个球就可以
(nm1m1)(n−m−1m−1)

bzoj2729
n个男生,m个女生,2名老师排成一行,老师和老师不能相邻,女生和女生不能相邻

老师可以相邻的数量 - 把两个老师捆绑起来的数量

二项式定理

(a+b)n=i=0naibni(in)(a+b)n=∑i=0naibn−i(in)

组合数计算

1>n,m103,p109n,m≤103,p≤109
直接杨辉三角形
C[n][m]=C[n1][m1]+C[n1][m]C[n][m]=C[n−1][m−1]+C[n−1][m]

2>n,m106,p109n,m≤106,p≤109
如果p能直接分解乘质数的一次方相乘,可以用CRT,也可以直接将n!n!质因数分解

3>n,m1018,p103n,m≤1018,p≤103
卢卡斯定理

4>n,m109,p105n,m≤109,p≤105
首先将p进行质因数分解,然后直接用CRT,或者,把p的质因子在A,B中去掉,然后求出A B去掉之后是多少,最后CRT合并

(p1)! mod p =p1(p−1)! mod p =p−1
这里介绍一种方法:求n!质因数分解后p^几次方
n/p+n/pp+n/pppn/p+n/p∗p+n/p∗p∗p⋯



tyvj 1298分苹果
n个有区别的苹果,分到3个无区别的袋子中的方案数

3n36+13n−36+1

3n3n是指当成有区别的,除以6是因为实际上是无区别,-3是因为当只有一个袋子有苹果的时候,他的情况是3倍而不是6倍,不能直接处,所以先减掉,然后后来再加回来

斯特林数

二类:
n个不同的小球,放到k个相同的盒子,每个盒子至少放一个球的种数

f[n][k]=kf[n1][k]+f[n1][k1]f[n][k]=k∗f[n−1][k]+f[n−1][k−1]

那如果k个盒子不同呢?
k!f[n][k]k!∗f[n][k]即可

可以理解为k个盒子的编号有k!k!

一类
将n个不同元素排成k个非空环排列的方法数:
g[n][k]=(n1)g[n1][k]+g[n1][k1]g[n][k]=(n−1)∗g[n−1][k]+g[n−1][k−1]

Catalan数

1 1 2 5 14 42 132
C)n=(2nn)n+1=(2nn)(2nn1)C)n=(2nn)n+1=(2nn)−(2nn−1)

Cn+1=ni=0CiCniCn+1=∑i=0nCiCn−i

例子:

有n个+1+1,n个1−1,每个前缀和都0的方案数。

n个左括号,n个右括号的合法序列
nn个节点构成二叉树的数量

进栈次序是1,2,3n的出栈顺序

n+1边形的三角剖分数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值