斯特林数 学习笔记
斯特林数
第一类斯特林数
第一类斯特林数
递推式
考虑每次新加入一个元素,它可以单独成为一个环,或者接到任意一个元素后面,有:
恒等式
,众所周知排列由若干个圆排列构成。 ,上升幂转普通幂公式,这同时指出一行第一类斯特林数的 OGF 为 。
生成函数
从组合意义的角度推导第一类斯特林数的生成函数
首先,单个环的生成函数是
求一行第一类斯特林数
一行第一类斯特林数的生成函数为
仍然考虑和分治类似的思路:倍增。考虑设
- 根据
得到 ,发现 ,利用多项式平移做到 。 - 根据
得到 ,暴力卷上一项是线性的。
事实证明,倍增在求多项式幂上是比分治更为优秀的结构。
求一列第一类斯特林数
考虑生成函数,有
cmd 提到了一种小常数做法,但是不想学。不过
第二类斯特林数
第二类斯特林数
递推式
考虑每个元素,要么加入前面的一个集合,要么新建一个集合,有:
对比第一类斯特林数的递推式,不同的只有后面一项的系数。
恒等式
,普通幂转下降幂公式。 ,通项公式。可以利用容斥解释,也可以对上面二项式反演。
生成函数
从组合意义的角度推导第二类斯特林数的生成函数
考虑单个集合的生成函数为
求一行第二类斯特林数
通项公式就是卷积形式。
求一列第二类斯特林数
考虑
斯特林反演
有斯特林反演公式:
因为题目太少了,目前只知道可以钦定一些元素在一些等价类中,然后容斥。
上述式子也指出了下降幂转普通幂和普通幂转上升幂的公式:
没做过题,不会用。
习题
CF960G
考虑只有前缀最大值的限制怎么做,考虑一个 DP。设
这就是第一类斯特林数,所以有
考虑原问题。发现前缀最大值和后缀最大值之间相互独立,枚举最大值位置:
组合意义不难证明。
但是发现第一类斯特林数没有通项公式,所以只能写多项式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?