文章目录
参考博客 :
一、生成函数应用场景
生成函数应用场景 :
组合计数
多重集
组合计数 , 之前 只能计数特殊情况下的组合数 , 也就是选取数
小于多重集每一项的重复度 , 才有 组合数
, 如果
大于重复度 , 就需要使用生成函数进行求解 ;
不定方程的解个数 , 之前只能求解 没有约束的情况 , 如果对变量有约束 , 如
只能在某个区间取值 , 这种情况下 , 就必须使用生成函数进行求解 ;
整数拆分 , 将一个正数拆分多若干整数之和 , 拆分方案个数 , 也可以通过生成函数进行计算 ;
回顾多重集排列组合 :
- 可重复的元素 , 有序的选取 , 对应 多重集的排列 ;
, 非全排列
- 可重复的元素 , 无序的选取 , 对应 多重集的组合 ;
二、使用生成函数求解递推方程
递推方程 :
初值 :
数列为
对应的生成函数是
根据递推方程 , 同时为了使得后面的项可以约掉 , 使用
乘以
生成函数 , 使用
乘以
, 得到如下三个式子 ,
乘以
得到的第一项就是
的一次方项 , 将该项对应到
中的
一次方项下面 ,
乘以
得到的第一项就是
的二次方项 , 将该项对应到
中的
二次方项下面 ;
上述横线下的式子是 横线上面 三个式子相加的结果 ;
观察上述右侧 第三列 , 图中红框部分 ;
上述幂次对齐后 , 出现的等号右侧的第三列
, 将其中
提取出来得到
, 正好对应递推方程
,
因此有
, 进而可以得到
由此可以看出 , 如果三个式子全部相加 , 下图 右侧蓝色矩形框内 , 全部都是
;
目前右侧只剩下
三项 ; 其中的
是初值 ;
最终等式右侧是 :
将上述式子代入到
中 , 使用
替换等式右侧的式子 , 得到 :
使用 给定 生成函数 , 求对应的级数 的 方法 , 将上述式子展开 , 参考 【组合数学】生成函数 ( 生成函数示例 | 给定通项公式求生成函数 | 给定生成函数求通项公式 ) 二、给定生成函数求级数 方法 ,
先将分母进行因式分解 , 然后设置两个待定系数 , 通分后 , 根据
项系数写出方程组 , 最终解该方程组 , 最终可以得到 :
对应的级数是 :
对应的级数是 :
最终生成函数的级数形式为 :
递推方程的通解 :
基本思路 : 有原来的递推方程 , 导出关于生成函数的递推方程 ;