1、1 第2章递推关系与母函数 2 1递推关系2 2母函数 生成函数 2 3Fibonacci数列2 4优选法与Fibonacci序列的应用2 5母函数的性质2 6线性常系数齐次递推关系2 7关于常系数非齐次递推关系2 8整数的拆分2 9ferrers图像2 10拆分数估计2 11指数型母函数2 12广义二项式定理2 13应用举例2 14非线性递推关系举例2 15递推关系解法的补充 2 2 8 整数的拆分 1 拆分的概念 2 拆分的模型 3 拆分算法 递归实现 4 用母函数讨论拆分数 3 2 8 整数的拆分 所谓整数的拆分 是指把一个正整数拆分成若干正整数的和 不同的拆分法的数目称为拆分数 例如
2、考虑正整数4的拆分数 4 4 4 3 1 4 2 2 4 2 1 1 4 1 1 1 1 通常用p n 表示整数n拆分成若干正整数的和的拆分数 也可说成方案数例如p 4 5 1 拆分的概念 4 1 C n r 2 拆分的模型 2 8 整数的拆分 从n个不同的球中取出r个 放进r个相同的盒子中 不许空盒 有多少种放法 2 P n r 从n个不同的球中取出r个 放进r个不相同的盒子中 不许空盒 有多少种放法 5 3 从n个不同元素中取r个允许重复的组合 2 8 整数的拆分 r个相同的球放进n个不同的盒子中 允许空盒 有多少种放法 以正整数4为例 4 4 4 3 1 4 2 2 4 2 1 1 4
3、1 1 1 1 4 正整数n的拆分数 6 正整数n的拆分 相当于把n个无区别的球放进n个无区别的盒子 盒子中允许放一个以上的球 也允许空着 以正整数4为例 球的放法如下 4 4 4 3 1 4 2 2 4 2 1 1 4 1 1 1 1 2 8 整数的拆分 7 3 拆分算法 递归实现 定义一个函数Q n m 表示整数n的所有加数都不超过m的拆分数 n的拆分数就可以表示为Q n n Q n n 有以下递归关系 1 Q n n 1 Q n n 1 停止条件 1 Q n 1 1 2 Q 1 m 1 2 8 整数的拆分 Q n m 有以下递归关系 2 Q n m Q n m 1 Q n m m 8 i
4、ntdivinteger intn intm if n 1 m 1 printf error elseif n 1 m 1 return 1 elseif n m returndivinteger n n elseif n m return 1 divinter n n 1 elsereturn divinteger n m 1 divinteger n m m 2 8 整数的拆分 9 例1求4的拆分数 解 分析下面的多项式x4项的系数与4的拆分数的关系 1 x x2 x3 x4 1 x2 x4 1 x3 1 x4 4 用母函数讨论拆分数 2 8 整数的拆分 4 1 1 1 1 4 2 1 1
5、 4 2 2 4 3 1 4 4 10 n的拆分数的母函数 4 用母函数讨论拆分数 2 8 整数的拆分 11 例2求1角 2角 3角的邮票可贴出不同数值邮资的方案数的母函数 解 单独用1角的母函数为1 x x2 x3 单独用2角邮票的母函数为1 x2 x4 x6 单独用3角邮票的母函数为1 x3 x6 x9 2 8 整数的拆分 12 2 8 整数的拆分 13 例3求正整数n拆分成1 2 m的和 并允许重复的拆分数 如若其中m至少出现一次 试求它的方案数及其母函数 解1 展开式中xn项的系数就是要求的拆分数 2 8 整数的拆分 14 解2 如果m至少出现一次 G x 1 x x2 1 x2 x4
6、 xm x2m 2 8 整数的拆分 15 2 8 整数的拆分 正整数n拆分成1 2 m的和 并允许重复的拆分数 若其中m至少出现一次 它的方案数等于拆分成1 2 m的拆分数减去拆分成1 2 m 1的拆分数 以正整数4为例 4 4 4 3 1 4 2 2 4 2 1 1 4 1 1 1 1 16 定理2 8 1正整数r拆分成不同正整数和的拆分数 等于拆分成奇正整数的拆分数 对比7拆分成不同正整数之和的拆分数和拆分成奇数和的拆分数 解 7拆分成不同正整数和的所有形式如下 7 6 1 5 2 4 3 4 2 1共5种 解 7拆分成奇数和的所有形式如下 7 5 1 1 3 3 1 3 1 1 1 1
7、1 1 1 1 1 1 1也是5种 2 8 整数的拆分 17 解 首先构造r拆分成不同正整数和的拆分序列的母函数 G x 1 x 1 x2 1 x3 1 x4 2 8 整数的拆分 18 定理2 8 2n拆分成其它数之和但重复数不超过2 其拆分数等于它拆分成不被3除尽的数的和的拆分数 考虑n 5的情况 5的所有拆分情况如下 5 4 1 3 2 3 1 1 2 2 1 2 1 1 1 1 1 1 1 1 5 4 1 3 2 3 1 1 2 2 1 5 4 1 2 2 1 2 1 1 1 1 1 1 1 1 2 8 整数的拆分 19 解 n拆分成重复数不超过2的数之和的拆分数 其母函数为 G x 1
8、 x x2 1 x2 x4 1 x3 x6 1 x4 x8 2 8 整数的拆分 20 例2 25n个完全相同的球放到m个无区别的盒子 不允许空盒 问共有多少种不同的方案 其中m n 解 从n中取m个球一个盒子放一个 整数n m用不超过m的数来拆分的拆分数 展开中xn m项的系数 2 8 整数的拆分 21 例6n个完全相同的球放到m个有区别的盒子 允许空盒 问共有多少种不同的方案 其中m n 解 第一盒 用1代表不放球 用x代表放一个球 用x2代表放两个球 单独第一盒的母函数可构造为 1 x x2 xn 其它盒也有同样的情况 共m个盒子 2 8 整数的拆分 22 例7n个完全相同的球放到m个有区
9、别的盒子 不允许空盒 问共有多少种不同的方案 其中m n 解 第一盒 用1代表不放球 用x代表放一个球 用x2代表放两个球 因为不允许空盒 因此常数项为零 单独第一盒的母函数可构造为 x x2 xn 其它盒也有同样的情况 共m个盒子 2 8 整数的拆分 23 xn m项的系数是 C m n m 1 n m C n 1 n m C n 1 m 1 因此 方案数为C n 1 m 1 2 8 整数的拆分 24 2 9费勒斯 Ferrers 图像 假设正整数n拆分成n n1 n2 nk 其中n1 n2 n3 nk 将他们排成阶梯形 左边对齐 第一行n1格 第二行n2格 第k行nk格 3 2 2 1 1
10、 2 3 4 例如 8 3 2 2 1 1 什么是费勒斯图像 25 2 费勒斯 Ferres 图像的性质 1 每一层至少有一个格子 3 行与列互换 即第1行与第1列互换 第2行与第2列互换 也就是沿对角线旋转180 仍然是费勒斯图像 后一个费勒斯图像称为前一个费勒斯图像的共轭图像 而且互为共轭 2 9费勒斯 Ferrers 图像 2 下一层的格数不多于上一层的格子数 26 2 9费勒斯 Ferrers 图像 3 2 2 1 1 2 3 4 3 费勒斯图像对拆分数的讨论 例如 8 3 2 2 1 27 定理2 9 1如下两种拆分方式的数的是相等的 把正整数n拆分成m个数的和的拆分数 2 把正整数
11、n拆分成最大数为m的拆分数之和 推论 如下拆分数相同 1 正整数n拆分成最多不超过m个数的和的拆分数 2 正整数n拆分成最大数不超过m的数的拆分数 2 9费勒斯 Ferrers 图像 28 定理2 9 1如下两种拆分方式的数的是相等的 把正整数n拆分成m个数的和的拆分数 2 把正整数n拆分成最大数为m的拆分数之和 2 9费勒斯 Ferrers 图像 29 推论 正整数n拆分成最多不超过m个数的和的拆分数 等于将n拆分成最大数不超过m的数的拆分数 2 9费勒斯 Ferrers 图像 30 拆分成正好m个数的拆分数 拆分成不超m个数的拆分数 拆分成不超m 1个数的拆分数 2 9费勒斯 Ferrer
12、s 图像 31 定理2 9 2整数n拆分成互不相同的若干奇数和的拆分数 与n拆分成有自共轭费勒斯图像的拆分数相等 这里所讲的自共轭费勒斯图像是指共轭图像与原图像一致 每一个奇数都与右图这样的自共轭费勒斯图像一一对应 n拆分成若干奇数和可以如下表示 n 2n1 1 2n2 1 2nk 1 任何一个奇数都可表示成2n 1这种形式 2 9费勒斯 Ferrers 图像 32 例如 17 9 5 3 求所对应的自共轭费勒斯图像 首先将9写成2 4 1 按此构造自共轭费勒斯图像 将5写成2 2 1 按此构造自共轭费勒斯图像 将3写成2 1 1 按此构造自共轭费勒斯图像 将这三个图像结合起来就得到了我们所要
13、求的图像 2 9费勒斯 Ferrers 图像 33 n拆分成若干奇数和可以如下表示 n 2n1 1 2n2 1 2nk 1 构造一个Ferrers图像 其第一行 第一列都是n1 1格 对应于2n1 1 第二行 第二列各n2 2格 对应于2n2 1 以此类推 由此得到的Ferres图像是自共轭的 2 9费勒斯 Ferrers 图像 34 例1若有1克 2克 3克 4克的砝码各一枚 问能称出几种可能的重量 解 单独1克砝码的母函数为1 x单独2克砝码的母函数为1 x2 单独3克砝码的母函数为1 x3 单独4克砝码的母函数为1 x4 2 8 整数的拆分 1 x 1 x2 1 x3 1 x4 1 x x2 2x3 2x4 2x5 2x6 2x7 x8 x9 x10