排列组合基础

修改日志

  • 2022.11.5 重构整篇文章

定义

组合数又称二项式系数,有基本定义:

(nm)=n!m!(nm)!(nN,mN)

然后我们定义下降幂:

nm_=i=0m1(ni)=n(n1)(m1)_

由此重新定义组合数:

(nm)=nm_m!(nC,mN)

同时有规定:

00=0!=x0_=1

基础技巧

加法原理

n 类元素,第 i 类元素有 ai 个,从所有类中选出一个元素的方案数为 i=1nai

乘法原理

n 类元素,第 i 类元素有 ai 个,从每一类中都选出一个元素的方案数为 i=1nai

插板法

用于求给相同元素分组的方案数的一种技巧。
即将 n 个相同元素分成 m 个集合(不保证每种集合都非空),集合与集合之间识为不同。
问题等价与在 n 个元素中插入 m1 个板,板为两个集合的分割,由此得出插板法的公式:(n+m1n)

排列组合变种

多重集的排列数

又名 多重组合数
S=n1a1,n2a2,,nkak 表示由 niai 组成的多重集, n=i=1kniS 的全排列个数可用多重组合数符号表示为

(nn1,n2,,nk)=n!i=1kni!

这个也被称为多项式系数,其等价与如下二项式系数的乘积:

(n1+n2++nkn2+n3++nm)(n2++nkn3++nm)(nm1+nmnm)(nm0)

多重集的组合数

S=n1a1,n2a2,,nkak,从 S 中选出 r(i[1,k],r<ni) 个元素的方案数为可重集的组合数。等价于 i=1kni=r 的非负整数解的个数,用插板法可得答案为 (r+k1k1)

若取任意非负整数 r 个元素,则问题等价于求解带限制的线性方程解的个数:

i=1kxi=r,i[1,k],xini

补集转化,用所有方案数减去不合法方案数,每次钦定 p 种元素超出限制,容斥一下可得答案等于:

p=0k(1)pSS|S|=p(k+r1(ai+1)k1)

圆排列

n 个元素围成一圈,两种方案不同当且仅当两种方案不能通过顺或逆时针旋转后相同,所有排列的方案数记为 Qnn。考虑对于任意一个圆排列,钦定其从任意位置断开都能形成一个新的一般的排列,所以:

Qnn=Annn=(n1)!

同理可得部分圆排列为:

Qnr=Anrr=n!r×(nr)!

错排

求长度为 na 排列满足 aii 的方案数 Dn
首先显然有 D0=1,D1=0,现在考虑新加入一个数产生的贡献。
每新加入一个元素有两种选择:

  • (n1) 个数已经满足要求,从中任意选择一个元素与之交换,有 (n1) 种选择。
  • (n1) 个数有一个数不满足要求,与之交换,有 (n1) 种可能。

所以 Dn=(n1)(Dn1+Dn2)

性质和公式

对称公式

(nk)=(nnk)kN

相当与对选出的集合与全集取补集。(对称性)

加法公式

(nk)=(n1k)+(n1k1)n,kN,kn

其组合意义为钦定最后一个数选或不选的方案数相加。

吸收公式

k(nk)=n(n1k1),(nk)(nk)=n(n1k)kZ

前式的组合意义为从 n 个元素中选出 k 个再钦定一个的方案数等价于从 n 个元素中先钦定一个再在剩下的 n1 个元素中选出 k1 个。
后式两边都使用一次对称公式就和前式等价。

上指标反转

(nk)=(1)k(kn1k)kZ

结合定义是,就是将 nk_ 每一项取负。

奇技淫巧

(nm)(mk)=(nk)(nkmk)

其组合意义为从含有 n 个元素的集合 A 中选出一个大小为 m 的子集 B,再从集合 B 中选出大小为 k 的子集 C。其等价与先从 A 中选出 C 再从 CA 的补集中选出集合 B,集合 B 和集合 C 取并集就是 B

组合数+求和

一行之和

i=0n(ni)=2nnN

其组合意义为所有的选数方案恰好对应了每一个数选或不选的方案数。

上指标求和

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

其组合意义为 从 n+1 个数中选择 k+1 个数的方案数。其等价于钦定最后一个选择的元素是第 i+1 个,在前 i 个数中选择 k 个数的方案数之和。
其对应在杨辉三角上如图所示:

绿色框中的数等于黄色的选中的数相加的和。
具体证明可结合杨辉三角,添加 (0m+1)=0 项,再利用加法公式。

平行求和

i=0k(n+ii)=(n+k+1k)

平行求和可将每一项利用对称性转化为上指标求和。
其对应在杨辉三角上如图所示:

绿色框中的数等于黄色的选中的数相加的和。
具体证明可结合杨辉三角,利用 (n0)=(n+10),再利用加法公式。

交错求和

km(1)k(rk)=(1)m(r1m)mZ

证明考虑上指标反转后平行求和再上指标反转。

恒等式一(扩展牛顿二项式定理)

(x+y)r=k(rk)xkyrk

rN 时,是牛顿二项式定理,但当 |xy|<1,rR 时也成立。
证明第一种情况可以直接考虑组合意义,证明第二种情况需要用泰勒级数。

特殊情况,容斥原理常用:

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

恒等式二(范德蒙德卷积)

k(rk)(snk)=(r+sm)nZ

其组合意义为从大小为 r 和大小为 s 的两个集合中取出 m 个元素,等价与枚举从 r 集合中取出 i 个元素,再在 s 集合中取出剩余的元素。

恒等式三

km(m+rk)xkymk=km(rk)(x)k(x+y)mkmZ

证明考虑数学归纳法,对于 m<0,左右都为 0。对于 m=0,左右都为 1
设左式等于 fm,有:

fm=km(m+rk)xkymk=km(m+r1k)xkymk+km(m+r1k1)xkymk=(yfm1+(m+r1m)xm)+xfm1=(yfm1+(m+r1m)xm)+xfm1=(x+y)fm1+(rm)(x)m

设右式等于 gm,有:

gm1=km1(rk)(x)k(x+y)mk1

gm=km(rk)(x)k(x+y)mk

gm=(x+y)gm1+(rm)(x)m

由于左右两边递推方式相同,所以当 m1 成立时,m 也成立,得证。

x=1,y=1 时,等价于交错求和。

恒等式四

i=0n(nii)=Fn

直接归纳证明即可。


__EOF__

本文作者zym417
本文链接https://www.cnblogs.com/zym417/p/16421140.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   zym417  阅读(602)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示