斯特林数与斯特林反演
首先我们先来了解什么叫做斯特林数。
第一类斯特林数
什么是圆排列,对于两个排列,如果循环相同,那么这两个排列就被视为相同的圆排列,不难发现,
递推式#
考虑递推斯特林数。我们考虑第
这就是第一类斯特林数的递推式。
递推边界:
性质#
由
让
首先我们考虑设第一个圆排列的元素个数为
容易发现
我们分两种情况讨论:第一种情况,我们把
第二种情况,我们把
通过下文中的第一类斯特林数的生成函数可以得到这个性质。
符号#
第一类斯特林数分为有符号斯特林数和无符号斯特林数,有符号斯特林数通常表示为
第二类斯特林数
通项公式#
我们考虑容斥来计算第二类斯特林数的通项公式,首先不管两个限制:非空和集合两两相同。
我们钦定有
递推式#
我们一样考虑第
第一种情况,把第
边界条件:
性质#
根据第二类斯特林数的定义不难的出这个结论。
-
两个集合我们考虑第一个集合放哪些数,这样的计数结果为
,考虑到我们给集合定顺序但集合间并没有顺序,所以我们算重了两边,最终结果为:
不难想到这个东西实际上是从
当 是质数且 时成立。
证明:
当
我们对上面这个东西建立生成函数:
发现这个东西是由两个生成函数卷积得到:
发现这个是因为关注到
发现前面这个东西的封闭形式是
而后面那个式子,不难发现
由此我们可以得到
注意到
第三类斯特林数
第三类斯特林数也称作拉赫数,因为和第一二类斯特林数比较类似,所以有这两个名字。
拉赫数可以通过上升幂与下降幂之间的转化来定义,即:
由此我们可以得到
有这个通项公式可以知道第三类斯特林数的递推公式:
这个定西可以简单的通过代入来证明。
各种幂之间的转换
这里先给出上升幂与下降幂的公式:
上升幂与下降幂之间的转换关系:
二项式系数与下降幂之间的关系:
证明比较显然,这里不再赘述。
- 上升幂与通常幂之间的转换:
证明:
- 通常幂与下降幂之间的转换:
- 上升幂与下降幂之间的转换:
以上性质可以通过归纳以及上升幂与下降幂之间的转换来证明,这里不再赘述。
记忆上面的实际只需要注意什么时候添加
通过以上式子,我们通过把上升幂用第三类斯特林数直接转化成下降幂,和先用第一类斯特林数转化成通常幂,再用第二类斯特林数转化成下降幂两种方式,通过比较下降幂系数,我们可以得到第三类斯特林数和两个斯特林数之间的关系:
生成函数
第一类斯特林数的生成函数就是上升幂。
设
由此我们可以得到:
设
斯特林反演
斯特林反演公式:
要证明上面这个式子,我们首先引入一个反转公式:
比较两边系数你就可以得到:
注意这里
用同样的方法,我们可以得到另一个反转公式:
现在我们来证明斯特林反演。
同理,从右往左也可以证明,于是原式得证。
和二项式反演一样,这个式子也有许多变式。由反转公式对称性可以知道,我们交换等号两边的斯特林数仍然成立。我们让和式从
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?