[学习笔记] 生成函数
博客园的格式和我本地的不太一样,有些式子的换行好像被吃了,还有一行里的式子可能显示不全的(缩小网页好像就能显示得更多)。抱歉.QwQ
[学习笔记] 生成函数
[ ] 里的是我还不确定的。
本文内容可能不严谨、可能不准确。
思想(重要)
- 核心:通过 生成函数 来 刻画问题,再用 处理“多项式”的技巧 来 解决问题。(从 cmd 的博客中学到)
- 使用 封闭形式 来 [简化分析]、优化实现。
- 生成函数提供了一类 固定的方法 来求解许多感觉需要很聪明的解法的问题。
- 想清楚 元素有无标号、集合有无标号。
分类
- 普通生成函数(OGF)。
- 指数生成函数(EGF)。
- 概率生成函数(PGF)。
- 狄利克雷生成函数(DGF)。
- 多占位元生成函数。
- 二元生成函数(BGF)。
OGF
- 非常常用。
- 序列
的 OGF 为 。 - 在符号化方法中用于 无标号体系。
OGF 的封闭形式
- 常用的推导方法是乘一项和原来的对其,开头
项空出来,减,解方程。 - 可以拆成若干部分,分别求封闭形式,再加 / 减起来。
- [还可能对已知的封闭形式求导 [或积分]]。
- 另外,可能需要用到其他公式、定理或已知的封闭形式。例:二项式定理。
重要:
OGF 的组合意义
- 和:?
卷积
合并两个集合,合并后
例:合并方案数背包。
OGF 的应用
- 优化 DP、求解背包问题(方案数 / 可行性,其实是 计数):利用“多项式”相关技巧和数学方法优化。
- 处理无穷项的 DP 状物:例如《Mivik 的标题》。
- 求解常系数齐次线性递推:Bostan-Mori 算法或其他方法。
- 求解通项公式:先推出封闭形式再展开。
EGF
-
序列
的 EGF 为 。- 可以认为是
中每个 都变成 得到的序列的 OGF,运算规则也和 OGF 一致。 - 在实际实现中当成 OGF 来实现,所以注意提取
项的系数时要乘 。也就是我们要的是 而不是 。
- 可以认为是
-
在符号化方法中用于 有标号体系。
EGF 的封闭形式
推导方法:
- 泰勒展开。
- 运用已知的封闭形式。
- 整体法。
- 拆成若干部分,分别求封闭形式,再加 / 减起来。
- 运算的组合意义。
重要:
(1).
(2).
(3).
(4).
(5).
(6).
EGF 的组合意义
- 和:?
卷积
两个 EGF 的卷积:卷出 二项式系数。合并两个集合,合并后
证明类似两个 EGF 的卷积,[也可以直接重复两个 EGF 卷的过程]。
有标号非空集合
和 EGF 的
但请注意划分成的集合仍然不能有空集,因为如果有空集方案数就会变成无穷大。
它的
集合有无标号转化
集合有标号
集合无标号
EGF 的应用
EGF 和斯特林数有异曲同工之妙,都能用于集合划分相关问题(元素有标号),可以认为是算 “单体”拼出“多聚体”的方案数(单体内部的方案数也可以考虑)。不同点在于 EGF 把很多东西放在一起处理,而且“单体”的方案数更灵活。
EGF 主要解决 有标号的图 的计数问题(from 指数生成函数学习笔记&做题记录 - houzhiyuan - 博客园),常常和 连通性 相关。例如:
- 有标号无根树森林计数。(无根树
森林) - 有标号有根树森林计数。(可以不用 EGF,有更直接的式子)
- 有标号简单无向连通图计数。(简单无向图
简单无向连通图) - 有标号弱连通 DAG 计数。(DAG
弱连通 DAG) - 有标号二分图计数。(?????)
- 有标号强连通竞赛图计数。(?????)
另一道题([贝尔数]):P5748 集合划分计数 - 洛谷 | 计算机科学教育新生态。
PGF
-
离散随机变量
的 PGF 为 。- 可以认为是
这个序列的 OGF。本质是有特殊性质的 OGF。
- 可以认为是
-
用于求解概率、期望相关问题,[具体方法中带 OGF 的影子]。
-
概率生成函数在一方面提供了一种刻画概率相关模型的工具,另一方面比较形式化地总结了一类概率问题的一般性思路。
-
-
核心思路:列出 PGF 或其导数的方程,代入
解出得到答案。(原因见性质)
PGF 的一些性质
PGF 的例题
[P4548 CTSC2006] 歌唱王国 - 洛谷 | 计算机科学教育新生态.
简要题意和题解先咕咕咕了。
DGF
- 序列
的 DGF 为 。- 如果
是积性函数,那么其 DGF 可以由质数幂处的取值表示(拼出每一项): 。(?)( 也考虑?) - 如果
是完全积性函数,那么其 DGF 可以由质数处的取值表示(拼出每一项): 。(?)
- 如果
- DGF 和贝尔级数关系紧密,DGF 和贝尔级数都和狄利克雷卷积关系紧密。
- DGF 提供了一种分析狄利克雷卷积的方法,常用于积性函数相关的推导。
- 把函数用
表示,简洁、直观、统一,易于分析,简化了推导过程,使推导过程更为直观。
积性函数的 DGF 的形式变化
重要:黎曼
(1).
(2).
(3). 莫比乌斯函数
(4). 刘维尔函数
(5).
(6).
(7). 欧拉函数
还有一种推的方法:
(8).
证明:
kimi 好像给出了一种更妙的证明,但我没看懂……
在上面的式子中,(2)(3) 是一对,(4)(5) 是一对。好磕!
方法总结:
三种式子:用 DGF 的定义式、用积性函数的式子、用完全积性函数的式子。
-
用 DGF 的定义式:整体法(换元法)。(涉及平移(
)的时候用). -
用另外两种式子(
枚举质数):-
把
里面化为封闭形式。- 利用与求 OGF 封闭形式类似的方法,平移后相减得到常数项,解方程解出封闭形式。
- 可以拆成若干部分,分别求封闭形式,再加 / 减起来。
-
凑
的形式。- 分式上下同乘,再用平方差公式。
- 整体法(换元法)。
-
也可以直接用 狄利克雷卷积相关结论。
DGF 的意义
加减:?
卷积
DGF 的卷积是原序列的狄利克雷卷积的 DGF。
可以利用这一点证明一些并不显然的狄利克雷卷积:
单位元
乘法逆
这里只讨论积性函数。
DGF 的乘法逆是原函数在狄利克雷卷积下的逆元。
平移
求导、积分、对数( )、指数( )
咕咕咕。
DGF 的应用
- 证明狄利克雷卷积相关结论。
- 莫比乌斯反演。
- ??????
- 狄利克雷生成函数 学习笔记 - 洛谷专栏.
- 狄利克雷卷积及常见函数与莫比乌斯反演 - Liquefyx - 博客园. 里面的“莫比乌斯反演扩展”.
- 求积性函数前缀和。
- 结合杜教筛,对
构造 使得 。- 先用积性函数 DGF 的式子推到用
表示 ,再用 构造。
- 先用积性函数 DGF 的式子推到用
- 结合 PN 筛。咕咕咕。
- 结合杜教筛,对
- 求积性函数(结合线性筛):求积性函数在素数幂处的取值。
参考资料
OI-Wiki.
zhr 学长的课件.
kimi.
指数生成函数学习笔记&做题记录 - houzhiyuan - 博客园.
概率生成函数(PGF)简记 - Aphrosia - 博客园.
概率生成函数学习笔记 - bztMinamoto - 博客园.
狄利克雷卷积及常见函数与莫比乌斯反演 - Liquefyx - 博客园.
2025.1.23
2025.1.24
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!