普通生成函数
在对一个序列 f f 进行计算时,考虑构造多项式 F ( x ) = ∑ i f i x i F ( x ) = ∑ i f i x i ,然后在这个多项式上面进行化简/运算,方便对 f f 的计算;多项式 F ( x ) = ∑ i f i x i F ( x ) = ∑ i f i x i 称为 f f 的 普通生成函数 。(令 F ( x ) = ∑ i f i x i , G ( x ) = ∑ i g i x i F ( x ) = ∑ i f i x i , G ( x ) = ∑ i g i x i )基本运算有 F ( x ) ± G ( x ) F ( x ) ± G ( x ) 为序列 ⟨ f i ± g i ⟩ ⟨ f i ± g i ⟩ 的普通生成函数,F ( x ) × G ( x ) F ( x ) × G ( x ) 为序列 ⟨ ∑ i j = 0 f j g i − j ⟩ ⟨ ∑ j = 0 i f j g i − j ⟩ 的普通生成函数。将若干无标号元素划分成 n n 个有标号集合,且第 i i 个集合内有 j j 个元素时对对应方案的贡献为 f i , j f i , j ,则将 k k 个元素划分为若干集合的方案数即为 [ x k ] ∏ n i = 1 f i , j x j [ x k ] ∏ i = 1 n f i , j x j 。
封闭形式
在对生成函数进行简化时,可以考虑将其在形式幂级数形式(形如 ∑ i f i x i ∑ i f i x i )和封闭形式之间转换。(此时需要忽略 x ∞ x ∞ )例如,求 ∑ i ≥ 0 p i x i ∑ i ≥ 0 p i x i 的封闭形式时,令 S = ∑ i ≥ 0 p i x i S = ∑ i ≥ 0 p i x i ,则 p x S = ∑ i ≥ 0 p i + 1 x i + 1 = ∑ i ≥ 0 p i x i − 1 = S − 1 p x S = ∑ i ≥ 0 p i + 1 x i + 1 = ∑ i ≥ 0 p i x i − 1 = S − 1 ,所以 S = 1 1 − p x S = 1 1 − p x 。计算 ∑ i ≥ 0 ( m + i i ) x i ∑ i ≥ 0 ( m + i i ) x i 的封闭形式时,令 S ( m ) = ∑ i ≥ 0 ( m + i i ) x i S ( m ) = ∑ i ≥ 0 ( m + i i ) x i ,则由 ( m + i i ) = ( ( m − 1 ) + i i ) + ( m + ( i − 1 ) ( i − 1 ) ) ( m + i i ) = ( ( m − 1 ) + i i ) + ( m + ( i − 1 ) ( i − 1 ) ) 可得 S ( m ) = S ( m − 1 ) + x S ( m ) S ( m ) = S ( m − 1 ) + x S ( m ) ,S ( m ) = S ( m − 1 ) 1 − x S ( m ) = S ( m − 1 ) 1 − x ;而 S ( 0 ) = ∑ i ≥ 0 x i = 1 1 − x S ( 0 ) = ∑ i ≥ 0 x i = 1 1 − x ,所以 S ( m ) = 1 ( 1 − x ) m + 1 S ( m ) = 1 ( 1 − x ) m + 1 。其他的常见的封闭形式还有 ∑ i ≥ 0 i x i = − x 2 ( x − 1 ) 2 ∑ i ≥ 0 i x i = − x 2 ( x − 1 ) 2 等。
例1:求斐波那契数列 f n = f n − 1 + f n − 2 f n = f n − 1 + f n − 2 ( f 1 = f 2 = 1 ) ( f 1 = f 2 = 1 ) 的通项公式
令 f 0 = 0 f 0 = 0 ,F ( x ) = ∑ f i x i F ( x ) = ∑ f i x i ,则 x 2 F ( x ) + x F ( x ) = ∑ i ≥ 2 ( f i − 2 + f i − 1 ) x i = ∑ i ≥ 0 f i x i − x = F ( x ) − x x 2 F ( x ) + x F ( x ) = ∑ i ≥ 2 ( f i − 2 + f i − 1 ) x i = ∑ i ≥ 0 f i x i − x = F ( x ) − x ,得出 F ( x ) F ( x ) 的封闭形式为 x 1 − x − x 2 x 1 − x − x 2 。考虑构造满足方程 A 1 − p x + B 1 − q x = x 1 − x − x 2 A 1 − p x + B 1 − q x = x 1 − x − x 2 的一组解,可得一组解为 A = − √ 5 5 , B = √ 5 5 , p = 1 − √ 5 2 , q = 1 + √ 5 2 A = − 5 5 , B = 5 5 , p = 1 − 5 2 , q = 1 + 5 2 ;则 x 1 − x − x 2 x 1 − x − x 2 对应的形式幂级数为 √ 5 5 ( ∑ i ≥ 0 ( 1 + √ 5 2 ) i x i ) − √ 5 5 ( ∑ i ≥ 0 ( 1 − √ 5 2 ) i x i ) = ∑ i ≥ 0 √ 5 5 ( ( 1 + √ 5 2 ) i + ( 1 − √ 5 2 ) i ) x i 5 5 ( ∑ i ≥ 0 ( 1 + 5 2 ) i x i ) − 5 5 ( ∑ i ≥ 0 ( 1 − 5 2 ) i x i ) = ∑ i ≥ 0 5 5 ( ( 1 + 5 2 ) i + ( 1 − 5 2 ) i ) x i 。这也是解形如 P ( x ) Q ( x ) P ( x ) Q ( x ) 的展开式的一种通用方法。
例2:求 ∑ i ≥ 0 i 2 x i ∑ i ≥ 0 i 2 x i 的封闭形式
考虑 i 2 = ( i − 1 ) 2 + 2 i − 1 i 2 = ( i − 1 ) 2 + 2 i − 1 ,则
∑ i ≥ 0 i 2 x i = ∑ i ≥ 1 i 2 x i = ∑ i ≥ 1 ( i − 1 ) 2 x i + 2 ∑ i ≥ 1 i x i − ∑ i ≥ 1 x i = x ( ∑ i ≥ 0 i 2 x i ) + 2 ( ∑ i ≥ 0 i x i ) − ( ∑ i ≥ 0 x i ) + 1 = x ( ∑ i ≥ 0 i 2 x i ) − x 2 + 3 x ( x − 1 ) 2 ∑ i ≥ 0 i 2 x i = ∑ i ≥ 1 i 2 x i = ∑ i ≥ 1 ( i − 1 ) 2 x i + 2 ∑ i ≥ 1 i x i − ∑ i ≥ 1 x i = x ( ∑ i ≥ 0 i 2 x i ) + 2 ( ∑ i ≥ 0 i x i ) − ( ∑ i ≥ 0 x i ) + 1 = x ( ∑ i ≥ 0 i 2 x i ) − x 2 + 3 x ( x − 1 ) 2
所以有 ∑ i ≥ 0 i 2 x i = x 2 + 3 x ( x − 1 ) 3 ∑ i ≥ 0 i 2 x i = x 2 + 3 x ( x − 1 ) 3 。
例3:求 C i = ∑ i − 1 j = 0 C j C i − j − 1 C i = ∑ j = 0 i − 1 C j C i − j − 1 ( C 0 = C 1 = 1 ) ( C 0 = C 1 = 1 ) 的通项公式
令 F ( x ) = ∑ i ≥ 0 C i x i F ( x ) = ∑ i ≥ 0 C i x i 。考虑 ∑ i − 1 j = 0 C j C i − j − 1 ∑ j = 0 i − 1 C j C i − j − 1 很像卷积的形式(就是 F ( x ) 2 F ( x ) 2 的第 i − 1 i − 1 项),可得 F ( x ) = 1 + x F ( x ) 2 F ( x ) = 1 + x F ( x ) 2 ,解得 F ( x ) = 1 ± √ 1 − 4 x 2 x = 2 1 ∓ √ 1 − 4 x F ( x ) = 1 ± 1 − 4 x 2 x = 2 1 ∓ 1 − 4 x 。考虑 x = 0 x = 0 时 F ( x ) = C 0 F ( x ) = C 0 ,取 2 1 + √ 1 − 4 x 2 1 + 1 − 4 x 时满足条件,而取 2 1 − √ 1 − 4 x 2 1 − 1 − 4 x 时分母为 0 0 (对应 F ( 0 ) = + ∞ F ( 0 ) = + ∞ )不满足条件;所以有 F ( x ) = 1 − √ 1 − 4 x 2 x F ( x ) = 1 − 1 − 4 x 2 x 。
引入:广义二项式定理
将 ( i j ) ( i j ) 写成 i j – j ! i j _ j ! 的形式,将 i i 的范围拓展到复数域;仍然有 ( x + 1 ) i = ∑ j ≥ 0 ( i j ) x j ( x + 1 ) i = ∑ j ≥ 0 ( i j ) x j 。证明 。
对 √ 1 − 4 x 1 − 4 x 进行广义二项式展开得 ∑ i ≥ 0 ( 1 2 ) i – i ! ( − 4 x ) i = 1 + ∑ i ≥ 1 ( 1 2 ) i – i ! ( − 4 x ) i ∑ i ≥ 0 ( 1 2 ) i _ i ! ( − 4 x ) i = 1 + ∑ i ≥ 1 ( 1 2 ) i _ i ! ( − 4 x ) i 。考虑化简 ( 1 2 ) i – ( 1 2 ) i _ 得:
( 1 2 ) i – = 1 2 × − 1 × − 3 × ⋯ × − ( 2 i − 3 ) 2 i − 1 = ( − 1 ) i − 1 ( 2 i − 3 ) ! ! 2 i = ( − 1 ) i − 1 ( 2 i − 2 ) ! 2 i ( 2 i − 2 ) ! ! = ( − 1 ) i − 1 ( 2 i − 2 ) ! 2 2 i − 1 ( i − 1 ) ! ( 1 2 ) i _ = 1 2 × − 1 × − 3 × ⋯ × − ( 2 i − 3 ) 2 i − 1 = ( − 1 ) i − 1 ( 2 i − 3 ) ! ! 2 i = ( − 1 ) i − 1 ( 2 i − 2 ) ! 2 i ( 2 i − 2 ) ! ! = ( − 1 ) i − 1 ( 2 i − 2 ) ! 2 2 i − 1 ( i − 1 ) !
上述的 x ! ! x ! ! 代表所有的不大于 x x 且奇偶性和 x x 相同的正整数之积。带回到 1 − √ 1 − 4 x 2 x 1 − 1 − 4 x 2 x 可得:
1 − √ 1 − 4 x 2 x = 1 − ( 1 + ∑ i ≥ 1 ( 1 2 ) i – i ! ( − 4 x ) i ) 2 x = ∑ i ≥ 1 ( − 1 ) i − 1 2 2 i x i ( − 1 ) i − 1 ( 2 i − 2 ) ! 2 2 i − 1 ( i − 1 ) ! i ! 2 x = ∑ i ≥ 1 ( 2 i − 2 ) ! ( i − 1 ) ! i ! x i − 1 = ∑ i ≥ 0 1 ( i + 1 ) ! ( 2 i i ) x i 1 − 1 − 4 x 2 x = 1 − ( 1 + ∑ i ≥ 1 ( 1 2 ) i _ i ! ( − 4 x ) i ) 2 x = ∑ i ≥ 1 ( − 1 ) i − 1 2 2 i x i ( − 1 ) i − 1 ( 2 i − 2 ) ! 2 2 i − 1 ( i − 1 ) ! i ! 2 x = ∑ i ≥ 1 ( 2 i − 2 ) ! ( i − 1 ) ! i ! x i − 1 = ∑ i ≥ 0 1 ( i + 1 ) ! ( 2 i i ) x i
综上,C i = 1 ( i + 1 ) ! ( 2 i i ) C i = 1 ( i + 1 ) ! ( 2 i i ) 。
指数生成函数
对某个序列 f f ,可以构造多项式 F ( x ) = ∑ i f i i ! x i F ( x ) = ∑ i f i i ! x i ,然后再这个多项式上面化简/运算。这个多项式称为 f f 的 指数生成函数 。f f 取 ⟨ 1 , 1 , 1 , ⋯ ⟩ ⟨ 1 , 1 , 1 , ⋯ ⟩ 时,F ( x ) = ∑ i ≥ 0 x i i ! = e x F ( x ) = ∑ i ≥ 0 x i i ! = e x 。指数生成函数的加减法和普通生成函数类似,考虑指数生成函数的乘法:
令 F ( x ) = ∑ i ≥ 0 f i i ! x i , G ( x ) = ∑ i ≥ 0 g i i ! x i F ( x ) = ∑ i ≥ 0 f i i ! x i , G ( x ) = ∑ i ≥ 0 g i i ! x i ,则有
F ( x ) G ( x ) = ∑ i ≥ 0 ( i ∑ j = 0 f j g i − j j ! ( i − j ) ! ) x i = ∑ i ≥ 0 x i i ! ( i ∑ j = 0 ( i j ) f j g i − j ) F ( x ) G ( x ) = ∑ i ≥ 0 ( ∑ j = 0 i f j g i − j j ! ( i − j ) ! ) x i = ∑ i ≥ 0 x i i ! ( ∑ j = 0 i ( i j ) f j g i − j )
所以 F ( x ) G ( x ) F ( x ) G ( x ) 是序列 ⟨ ∑ i j = 0 ( i j ) f j g i − j ⟩ ⟨ ∑ j = 0 i ( i j ) f j g i − j ⟩ 的生成函数。由此可得 ∏ n i = 1 F i ( x ) ∏ i = 1 n F i ( x ) 是序列 ⟨ ∑ n ∑ j = 1 c j = i , n min j = 1 c j ≥ 0 ( i c 1 , c 2 , ⋯ , c n ) f i , c i ⟩ ⟨ ∑ ∑ j = 1 n c j = i , min j = 1 n c j ≥ 0 ( i c 1 , c 2 , ⋯ , c n ) f i , c i ⟩ 的指数生成函数。将某个 序列 划分为若干个有序集合,且第 i i 个集合大小为 j j 时能贡献 f i , j f i , j 个方案(或者是说元素有标号,每个集合内元素数量不变时有 ( i c 1 , c 2 , ⋯ , c n ) ( i c 1 , c 2 , ⋯ , c n ) 种划分方案而不是一种),序列长度为 k k 时的方案数即为 k ! [ x k ] ∏ n i = 1 ∑ j f i , j j ! x j k ! [ x k ] ∏ i = 1 n ∑ j f i , j j ! x j ,即为所有 f i f i 的指数生成函数的卷积的第 k k 项乘以 k ! k ! 。
特别地,如果 ∀ i , f i , j = g j ∀ i , f i , j = g j ,且对应集合无序,则方案数的指数生成函数即为 1 n ! ( ∑ ∞ i = 0 g i i ! x i ) n 1 n ! ( ∑ i = 0 ∞ g i i ! x i ) n 。此时如果可以划分为任意集合,则方案数的指数生成函数即为 ∑ ∞ n = 0 1 n ! ( ∑ ∞ i = 0 g i i ! x i ) n = exp ( ∑ ∞ i = 0 g i i ! x i ) ∑ n = 0 ∞ 1 n ! ( ∑ i = 0 ∞ g i i ! x i ) n = exp ( ∑ i = 0 ∞ g i i ! x i ) ,这就是多项式 exp exp 的组合意义。而如果 g 0 ≠ 0 g 0 ≠ 0 ,则某个划分方案会被统计无穷多次(其对应了无穷多种集合数量)而不再有组合意义,多项式 exp exp 也有在常数项非 0 0 时不能在模意义下表示出。
封闭形式
在对指数生成函数进行简化时,同样可以将原来的形式变成非无穷项求和的形式。例如 F ( x ) = ∑ i ≥ 0 1 i ! x i F ( x ) = ∑ i ≥ 0 1 i ! x i 的封闭形式为 e x e x ,F ( x ) = ∑ i ≥ 0 p i i ! x i F ( x ) = ∑ i ≥ 0 p i i ! x i 的封闭形式为 e p x e p x (考虑将 p x p x 看成整体)。
狄利克雷生成函数(待补)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!