组合数学
组合数学#
一些必要 trick#
- 推式子,先提
和 到最前面,然后从后往前合并,必要时考虑更改 的取值 - 看到次方变为斯特林数,
- 注意莫反、欧反的形式
推式子基本原理#
- 先把
移到最前面。 - 将多个
排序,范围更小的放在前面。 - 将只与当前
有关的式子尽量往前提。 - 将能简化式子的特殊边界提出来。
- 从后往前处理。
基本概念#
表示 的 次下降幂。 表示 的 次上升幂。
递推式#
证明
从组合意义上推导,在 n 个人中选 m 个相当于单独考虑最后一人,若他要选,则为
吸引/相伴等式#
另外的形式:
上指标反转#
证明
三项式系数恒等式#
等式两边拆开约分即可得证。
平行求和#
证明
将
上指标求和#
证明
从组合意义入手,相当于我从
也可通过微积分求导知识进行证明,这里不再详述。
练习一:#
求
解
下指标求和(整行)#
证明
交错求和#
证明
下指标卷积(范德蒙德卷积)#
证明
从
练习二:#
求
解
上指标卷积#
证明
相当于从左边
练习三:#
求
解
至此,组合数学的基本内容已结束。
总结如下图:
Lucas定理#
其中
证明
注意到
因此
对于
我们现在对
所以对于
所以就有
就可以得出:
二项式定理#
拓展——下降(上升)幂二项式定理#
证明(这里不用数学归纳法进行证明)
上升幂方法相同。
错排#
定义:一个满足
推导式:
证明
若当前将
-
放在位置 上,那么还会剩下 个数错排,方案数为 。 -
放到某个位置 ,那么假设 号位置填上了 ,则 ,此时可以考虑一个新序列,把 去掉,此时方案数为
设
其中
解
我们发现,
定义函数
那么答案即为:
其中
鸽巢定理#
原理:将
证明(反证法)
与条件矛盾,故成立。
练习四#
有十个数
证明
两个交为空的子集和相等,所以加上交集后和仍不变,总共有
练习五#
证明一张有超过
证明
考虑分类讨论:
-
有
个度数为 的点,符合条件。 -
有
个度数为 的点,则第 个点需要连 条边,故至少有一个点符合。 -
没有度数为
的点,那么边数的范围为 ,所以符合。
练习六#
证明能从任意 11 个实数中挑选出 4 个数
证明
我们令
故
容斥原理#
对于一个集合
基本容斥原理为高中必学内容,这里对此不过多阐述。
二项式反演#
结论:
证明
第二种形式证明类似。
有
解
我们先考虑子集的交集大小至少为
然后我们考虑答案函数
进行二项式反演可得:
现在就可以解决了。
练习八 BZOJ3622 已经没有什么好害怕的了(P4859)
有两个序列
解
先将
考虑
还是先考虑前
然后设
反演可得:
然后就能够解决啦。
有一个
解
我们先钦定有
考虑恰好有
我们需要求至少一行一列,所以可以用
将
现在发现
现在就可以处理了。
练习十(第二类斯特林数通项求法)#
记
解
我们先设
易得
钦定非空集合数,可以有:
进行反演可得:
代入可得:
这也是第二类斯特林数的通项公式。
卡特兰数#
应用#
Catalan 数列
- 有一个大小为
的方格图,左下角为 右上角为 ,从左下角开始每次都只能向右或者向上走一单位,不走到对角线 上方(但可以触碰)的情况下到达右上角有多少可能的路径? - 在圆上选择
个点,将这些点成对连接起来使得所得到的 条线段不相交的方法数? - 一个栈的进栈序列为
有多少个不同的出栈序列? 个结点可构造多少个不同的二叉树? 对括号能组成的括号序列数?
递归/组合公式#
通项公式#
证明
其中
解得
那么这就产生了一个问题:我们应该取哪一个根呢?我们将其分子有理化:
代入
因此我们得到了卡特兰数生成函数的封闭形式:
接下来我们要将其展开。使用牛顿二项式定理。
其中
于是
带回原式得到
这样我们就得到了卡特兰数的通项公式。
Min/Max容斥#
定义#
公式:
证明1(其实是我懒得写了摘的)
令
枚举
易知
证明2
设存在一个以集合大小为自变量的函数
记
若等式成立,必有
设
反演一下,得
因为
故有
因而构造成立。
应用#
Min-Max 容斥及推广常用于解决 元素都出现的期望时间 的问题,处理方法:
记
表示 中 的最大值,即所有元素出现的时间。 表示 中 的最小值,即至少一个元素出现的时间。
根据 Min-Max 容斥可以用
等式两边同时取期望,由于期望的线性运算,可以直接放到
然后发现
即可求解。
练习十一#
给定三个序列
解
先用容斥拆开
最后一项与原式抵消掉,剩下的两种
所以可以变成:
这个实质就是求顺序对(二维偏序),总复杂度
练习十二#
给
解
设每个元素被选择时的时间为
然后套入式子计算即可,
给
解
相当于就是求
现在麻烦的是
在转的时候会发现转不了,所以再设一个参数
那么就有
这个复杂度过不了,所以换方法,因为
这样就是
第二类斯特林数#
含义#
特殊值#
递推式#
即考虑第
边界是
第二类斯特林数生成函数#
一个盒子装
由 EGF 卷积的组合意义,
通项公式#
证明
设将
由二项式反演
第一类斯特林数#
含义#
特殊值#
递推式#
即考虑第
生成函数#
类似第二类斯特林数地,我们先考虑
那么
即
特殊等式行之和#
我们知道一个有
通常幂、下降幂、上升幂转换#
互相转换公式#
证明都可以使用数学归纳法
反转公式#
把上面的式子结合起来即可。
拓展公式#
组合意义:枚举
组合意义:还是枚举
这是前两个式子的二项式反演
同 5 理
斯特林反演#
形式#
证明
我们有反转公式
直接带入易证
也有以下形式,与二项式反演类似:
作者:God_Max_Me
出处:https://www.cnblogs.com/lizihan00787/p/18685858
版权:本作品采用「God_Max_Me-非商业性使用」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!