学习笔记-组合数学——组合数基础,组合数取模,CRT

点击查看目录

1.组合数学基础

排列数 Anm=n!(nm)! 相当于从 Ann 中除去了 Anmnm
组合数 (nm)=n!m!(nm)! 相当于把 Anm 除去了顺序,不再赘述

错位排列

它计数的是这样一类问题的答案:对于 n 个小球,每个小球都有其不能放进的一个互不相同的盒子,求方案数

我们设对于 n 个小球的方案数为 Dn
通过观察不难发现, D1=0,D2=1
我们对于第 n 个小球分类讨论,寻找其规律
可以发现,所有球都放错的情况与有两个球放对的情况一一对应

1.如果第 n 个小球放对了,那肯应有 n2 个小球放错了,有 Dn1 种情况,剩下的一个又有 n1 种情况,故为 (n1)Dn2
2.如果第 n 个小球放错了,那么剩下的同理,有 (n1)Dn2

所以它的递推公式为 Dn=(n1)(Dn1+Dn2)Dn=nDn1+(1)n

圆排列

这相对来说比较简单,问 n 个人转圈排列的方案数,考虑把每种情况转一圈,正好有n种重复情况,所以情况数为 (n1)!

二项式定理

一个式子:

(a+b)n=i=0n(ni)aibni

从组合意义考虑,选了 i 个 a 的情况数就是 (ni)

一些问题

  1. 1,2,3,...,n n 个数字中选互不相邻的 m 个数的方案数

(nm+1m)

考虑把 m1 个数拿出来,再从剩下的里面拿 m 个数,用那 m1 个数隔开 m 个数

  1. 1,2,3,...,n n 个数字中选可重复的 m 个数的方案数

(n+m1n1)

我们把 m 个元素中插入 n1 个东西
我们从这 n+m1 个元素中选 n1 个元素作为隔板,第 i1 个隔板和第 i 个隔板之间的元素个数即为第 i 个数字所选的个数

  1. n 个小球放进 m 个盒子里,每个盒子不同且必须有一个球

(n1m1)

m1 个隔板插到 n 个元素的空里,两个隔板之间就是一个盒子

2. 组合恒等式

(1)(nm)=(nnm)

组合推理:选 m 的和选 m 的补集的情况数是一样的


(2)(nm)=(n1m)+(n1m1)

组合推理:考虑选不选第 n 个,不选的情况为 (n1m),选的情况为 (n1m1)


(3)k(nk)=n(n1k1)

吸收恒等式,组合意义为从 n 个人中选 k 个人,并指定一人成为队长,由组合数定义也可推出,作为组合数其中一种推导式使用,可以与这个恒等式相搭配:(nk)(nk)=n(n1k),实现组合数上标下标的增减


(4)(rm)(mk)=(rk)(rkmk)

组合推理:左式的组合意义是从 r 个中选 m 个,再从这 m 个中选 k 个,所以可以先从 r 个中选 k 个,再从剩下的 rk 个中选剩下的 mk


(5)k=0n(m1k)(m2nk)=(m1+m2n)

两种证明:

  1. 组合意义
    m1+m2 个东西分成个数分别为 m1m2 的两份,然后从这两份中取总计 n 份的东西
  2. 二项式定理

(1+x)m1(1+x)m2=(1+x)m1+m2i=1m1xi(m1i)i=1m2xi(m2i)=i=1m1+m2xi(m1+m2i)

(m1+m2n) 就是 xn 的系数
因为 xn=xnixi (显然吧)
所以易得, (m1+m2n) 就等于 i=0n(m1i)(m2ni)


(6)i=1n(ni)2=(2nn)

这是上式的特殊情况,取 m1=m2


(7)i=1ni(ni)=n2n1

证明:

(1+x)n=i=0n(ni)xi

把此式两边求导,得到:

n(1+x)n1=i=1ni(ni)xi1

x=1 代入,即是原式


(8)n(n+1)2n2=i=1ni2(ni)

这个式子是对上式的进一步求导,不再赘述,其实只要可以的话,可以得到 i=1nip(ni) 对于任意正整数的恒等式,但求导也会越来越复杂

但是呢,据《组合数学》所言,这东西有组合意义,不会推,谁会证在评论说一下


(9)i=1ni(ni)2=n(2n1n1)

组合推理:考虑 n 个男生和 n 个女生,选取 n 个人组成团队,一个男生是领导(其实在这种意义下 (ni)2 应写作 (ni)(nni)


(10)i=0n(1)i(ni)=[n=0]

二项式定理的特殊情况,取 a=1,b=1,仅当 n=0 时式子取值为 1可以反演

有一个推论:2in(ni)=2in(ni) 移项即可推出


(11)i=0n(1)i(ni)2={0n2m(mZ)(1)m(2mm)n=2m

证明:由 (1x2)n=(1+x)n(1x)n 可推导

(1x2)n=(1+x)n(1x)ni=0n(1)i(ni)x2i=i=0n(ni)xii=0n(1)i(ni)xi

对着这个式子可以推出 xn 的系数,对于左边式子来说,只有 n 为偶数时才有系数,对于 n 为奇数,系数为 (1)m(2mm),而右边式子 xn 的系数为 i=0n(1)i(nni)(ni)=i=0n(1)i(ni)2,系数相等,由此得证


(12)i=0n(ni)=2n

二项式定理特殊情况,a=1,b=1
组合意义:(ni) 表示 n 个元素中含 i 个元素的子集数量,求和即为 n 个元素的子集数量 2n


(13)i=0n(ik)=(n+1k+1)

组合推理:在 n+1 个球里拿 k+1 个,最后一个拿的是第 i 个,则情况数为 (ik),累加即为总数——(n+1k+1)


(14)i=0n(m+ii)=(n+m+1n)

证明(会用到 (13) ):

i=0n(m+ii)=i=0n(m+im)=i=mn+m(im)+0=i=mn+m(im)+i=0m1(im)=i=0n+m(im)=(n+m+1m+1)=(n+m+1n)

这个东西也可以进行扩展到上下均有值的情况

i=0n(m+is+i)=i=0n(m+ims)=i=0n+m(ims)=(n+m+1ms+1)=(n+m+1n+s)


(15)i=0n(nk)rk=(1+r)n

又是二项式定理,a=m,b=1


(16)i=0n(nii)=fn+1fi 为斐波那契数列第 i 项)

设原数列为 gi 则显然 g0=f1,g1=f2,只需要验证是否存在 gi=gi1+gi2 即可
然后我们把它放在杨辉三角里,结论就显而易见了:

图裂了

这个表格最上面一行是 gi ,在杨辉三角中表现为对它所在斜线的数进行求和
又因为杨辉三角的递推式,观察表格,显然就能得出结论

我觉得这东西应该有一个巧妙的组合意义,但我想不出来(

3.组合数取模

  • m!(nm)! 逆元直接淦

    适合非常水的题

  • 杨辉三角递推式直接取模淦

    适合 nm1e7

  • 卢卡斯定理
    一个式子: (nm)(n/pm/p)(nmodpmmodp)(modp)
    证明:
    首先可以推出一个性质: (1+x)p1+xp(modp)
    由于 (1+x)p 的第 i 项的系数为 (pi)=p!(pi)!i! 而显然当 p1,p 时,这个式子永远是有 p 这个因子,故模p为0,所以只剩下了第一项和最后一项

    二项式系数 (nm) 显然可以看做是 (1+x)nxm 的系数,然后我们对 (1+x)n 进行一些操作:
    (1+x)n(1+x)n/pp(1+x)nmodp(1+xp)n/p(1+x)nmodpi1n/p(n/pi)xipi=1nmodp(nmodpi)xi(modp)
    然后观察式子,可以把 xm 拆成 xm/ppxmmodp ,可以发现,在模p意义下, xm/pp 的系数为 (n/pm/p)xmmodp 的系数为 (nmodpmmodp),则 xm 的系数为 (n/pm/p)(nmodpmmodp) ,由此得证

  • 扩展卢卡斯定理

    Lucas 定理中对模数 p 的要求为素数,所以我们需要扩展一下下,把 p 的适用范围扩至全体正整数

    根据唯一分解定理,我们有: p=q1α1q2α2q3α3qkαk

    易得,对于任意的 i,jqiαiqjαj 互质,所以可以据此建立方程组:
    {x1(nm)(modq1α1)x2(nm)(modq2α2)...xk(nm)(modqkαk)
    可以发现,求出所有的 x 后,即可通过CRT求解 (nm)
    由此问题转换为求 xi=(nm)modqiαi

4.中国剩余定理——孙子定理

中国剩余定理可解决以下问题(其中 n1,n2,n3,...,nk 互质):

{xa1(modn1)xa2(modn2)xa3(modn3)....xak(modnk)

答案为:

n=i=1knimi=nni

ans=i=1kaimimi1modn 其中 mi1 是模 ni 意义下的逆元

我们观察式子,可以发现 i,j(ij)njmi 所以 aimimi1 对于其他模数余数贡献为0
aimimi1ai(modn)i 所以我们构造出了一个满足条件的数

5.容斥原理

正常的容斥原理表现为一个式子:

|i=1nSi|=m=1n(1)m1ai<ai+1|i=1mSai|

就是将集合里的元素缝缝补补,凑成并集,自己意会,可以用来求解与集合上计数有关问题,或者这个东西可以这么扩展:一共有 n 个集合,每个集合里有若干个属性,属性之间有重复,最终要得到只含一种属性的集合

posted @   Rolling_star  阅读(294)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示