第二章母函数与递推关系习题剖析
- 格式:ppt
- 大小:234.00 KB
- 文档页数:5
递推关系与母函数法1.2 递推关系Hanoi塔问题:这是组合数学中的著名问题。
n个圆盘依其半径大小,从下而上套在柱A上,如图1.1所示。
每次只允许取一个转移到柱B或柱C上,而且不允许大盘放在小盘上方。
若要求把柱A上的n个盘转移到柱C上,请设计一种方法,并估计要移动几个盘次,现在只有A,B,C三根柱子可供使用。
设a,b,c是3个塔座。
开始时,在塔座a上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠在一起。
各圆盘从小到大编号为1,2,…,n,现要求将塔座a 上的这一叠圆盘移到塔座b上,并仍按同样顺序叠置。
在移动圆盘时应遵守以下移动规则:规则1:每次只能移动1个圆盘;规则2:任何时刻都不允许将较大的圆盘压在较小的圆盘之上;规则3:在满足移动规则1和2的前提下,可将圆盘移至a,b,c中任一塔座上。
图1.1Hanoi塔是个典型的问题,第一步要设计算法,进而估计它的复杂性,即估计工作量。
这一问题有典型的意义,第一步先解决算法问题,即如何完成n个盘的搬动,进一步还要对算法作出复杂性分析,即对要作多少盘次的搬动进行估计。
算法设计:n=时,第一步先把最上面一个圆盘套在柱B上;第二步把第二个圆盘转2移到柱C上;最后再把柱B上的一个圆盘转移到柱C上,到此转移完毕。
假定1n-个盘子的转移算法已经确定。
对于一般n个圆盘的问题,先把上面的1n-个圆盘转称到柱B上,再把最后一上圆盘转移到柱C上,然后把柱B上的1n-个圆盘转移到柱C上,转移完毕。
上述的算法是递归的连用。
2n=时,第一步便利用n=时已给出了算法;3算法把上面两个圆盘移到柱B上,第二步再把第三个圆盘转移到柱C上;最后把柱B上的两个圆盘转移到柱C上,4,5,,n= 以此类推。
图1.1形象地给出4n=的转移过程。
void hanoi (int n, int a, int b, int c) {if (n > 0) {hanoi (n-1, a, c, b); move (a,b);hanoi (n-1, c, b, a); } }算法分析:令n h 表示n 个圆盘所需要的转移盘次。
母函数与递推关系习题1、 有n 阶台阶,一人从下往上走,每次走一或两级,求他走这n 级台阶的方法数。
2、 {1,2,3,}n S n = 的一个子集为交替的:如果按递增次序列出该子集的元素时,它们的奇偶性为:奇、偶、奇、偶、 。
空集也算作交替的。
求n S 的交替自己的树木。
3、 某人有n 元钱,他一天买一样东西,或一元钱的甲、或二元钱的乙、或二元钱的丙,问他用完这n 元钱有多少种方法?4、 求{,,}S a b c =∞⋅的n 排列数,要求在排列中a 与a 不相邻。
5、 设40nn i a i ==∑,0n ≥,求n a 。
6、 求1003102-⎛⎫ ⎪⎝⎭。
7、 平面上有n 条直线,其中任意两条都相交于一点,但没有三条相交于同一点,求这n 条直线将平面分成的区域数。
8、 空间中有n 个平面,其中任意两个都有唯一交线,任意三个都有唯一一个交点,但没有四个相交于同一点。
求这n 个平面将空间分成的区域数。
9、 在平面上画一个圆,然后再依次画n 条与圆都相交的直线,其中当k 是大于1的奇数时,第k 条直线只与前面(1)k -条直线中的一条在圆内相交,当k 是偶数时,第k 条直线与前面(1)k -条直线都在圆内相交,又没有三条直线在圆内相交于同一点。
求这n 直线将圆分成的区域数。
10、求{1,2,3}S =∞⋅的k 排列的个数,要求在排列中同一元素至多连续出现两次。
11、 将一个凸(1)n +边形用它的对角线划分成三角形,要求所用的对角现在多边形内部无交点,求划分的方法数。
12、 设一克、三克、七克重的砝码分别有1枚、3枚、2枚。
问用这些砝码能称出哪些重量?称每一重量又各有几种方案?13、 有两种拆分:(1)1{1,12,3,14,}S =∞⋅⋅∞⋅⋅ ;(2)23{1,2,3,}S =⋅ 。
证明对同一正整数n ,这两种拆分的拆分数相等。
14、证明:周长为2n ,边长为整数的三角形的个数等于将n 拆分成恰好三项的拆分数。
2.1题(陈兴)求序列{ 0,1,8,27,3n }的母函数。
解:由序列可得到32333()23n G x x x x n x =+++++因为23111n x x x x x =++++++- 2311()'12341n x x x nx x-=++++++-设 2311()()'23(1)1n np x x x x x n x nx x-==++++-+-2222221[()]'123(1)n n p x x x x n x n x --=+++++-+设 2223212()[()]'23(1)n nq x x p x x x x n x n x -==++++-+3323231[()]'123(1)n n q x x x n x n x --=++++-+ 3233313[()]'23(1)n n x q x x x x n x n x -=+++-+ 由以上推理可知[()]'x q x =,[7*94*(6)],n n +-所以可通过求得[()]'x q x 得到序列的母函数:32()4G x x x x =++2321()()[34(3)]6n H x F x dx x x n x +==++++⎰2.2题(陈兴)已知序列343,,,,333n ⎧+⎛⎫⎛⎫⎛⎫⎫⎨⎬ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎭⎩,求母函数 解: 3*2*14*3*2(3)*(2)*(1)()3*2*13*2*13*2*1nn n n G x x +++=+++=1[3.2.1 4.3.2(3)(2)(1)]6n x n n n x ++++++211()()[3.2 4.3(3)(2)]6n F x G x dx x x n n x +==+++++⎰ 2321()()[34(3)]6n H x F x dx x x n x +==++++⎰3431()()[]6n I x H x dx x X x ++==++⎰因为23111n x x x x+=+++++-所以211()(1)61I x x x x=----所以31()[]'''61x G x x=-就是所求序列的母函数。
第二章 母函数及其应用问题:对于不尽相异元素的部分排列和组合,用第一章的方法是比较麻烦的(参见表2.0.1)。
新方法:母函数方法,问题将显得容易多了。
其次,在求解递推关系的解、整数分拆以及证明组合恒等式时,母函数方法是一种非常重要的手段。
母函数方法的基本思想是把离散的数列同多项式或幂级数一一对应起来,从而把离散数列间的结合关系转化为多项式或幂级数之间的运算。
2.1 母 函 数(一)母函数(1)定义定义2.1.1 对于数列{}n a ,称无穷级数()∑∞=≡0n nnxax G 为该数列的(普通型)母函数,简称普母函数或母函数。
(2)例例2.1.1 有限数列C (n ,r ),r =0,1,2, …,n 的普母函数是()nx +1。
例2.1.2 无限数列{1,1,…,1,…}的普母函数是+++++=-nxx x x2111(3)说明● n a 可以为有限个或无限个; ● 数列{}n a 与母函数一一对应,即给定数列便得知它的母函数;反之,求得母函数则数列也随之而定;例如,无限数列{0,1,1,…,1,…}的普母函数是 +++++n x x x 20=xx -1● 这里将母函数只看作一个形式函数,目的是利用其有关运算性质完成计数问题,故不考虑“收敛问题”,而且始终认为它是可“逐项微分”和“逐项积分”的。
(4)常用母函数(二)组合问题(1)组合的母函数定理2.1.1 组合的母函数:设{}m m e n e n e n S ⋅⋅⋅=,,,2211 ,且n 1+ n 2+…+ n m =n ,则S 的r 可重组合的母函数为()x G =∏∑==⎪⎪⎭⎫ ⎝⎛mi n j ji x 10=∑=n r r r x a 0 (2.1.1) 其中,r 可重组合数为rx 之系数r a ,r =0,1,2, …,n .定理2.1.1的最大优点在于:● 将无重组合与重复组合统一起来处理;● 使处理可重组合的枚举问题变得非常简单。
第二章母函数及其应用问题:对于不尽相异元素的部分排列和组合,用第一章的方法新方法:母函数方法。
基本思想:把离散的数列同多项式或幂级数一一对应起来,算。
2.1 母函数(一)母函数(1)定义【定义2.1.1】对于数列{}n a ,称无穷级数()∑∞=≡0n n n x a x G 为该数列的(普通型)母函数,简称普母函数或母函数。
(2)例【例2.1.1】有限数列rn C (r =0, 1, 2, …, n )的普母函数:()x G =nn n n n nx C x C x C C ++++ 2210=()nx +1【例2.1.2】无限数列{1, 1. …, 1, …}的普母函数:()x G = +++++nx x x 21=x-11(3)说明● n a 可以为有限个或无限个。
● 数列{}n a 与母函数一一对应。
{0, 1, 1, …, 1, …}↔ +++++n x x x 20=xx -1 ● 将母函数视为形式函数,目的是利用其有关运算性质完成计数问题,故不考虑“收敛问题”。
(4)常用母函数(二) 组合问题 (1)组合的母函数【定理2.1.1】组合的母函数:设{}m m e n e n e n S ⋅⋅⋅=,,,2211 ,且n 1+n 2+…+n m =n ,则S 的r 可重组合的母函数为()x G =∏∑==⎪⎪⎭⎫ ⎝⎛mi n j j i x 10=∑=n r r r x a 0其中,r 可重组合数为rx 之系数r a ,r =0, 1, 2, …, n 。
理论依据:多项式的任何一项与组合结果一一对应。
【例2.1.3】设有6个红球,7个黑球,8个白球,问 (1) 共有多少种不同的选取方法,试加以枚举? (2) 若每次从中任取3个,有多少种不同的取法? (解)(1)元素符号化(x ,y ,z ↔红、黑、白球),元素的个数以符号的指数区分。
母函数G (x , y , z ) =(1+x +x 2) (1+y ) (1+z )=1+(x +y +z )+(x 2+xy +xz +yz )+(x 2x +x 2x +xxx )+( x 2yz )5种情况:① 数字1表示一个球也不取的情况,共有1种方案; ② 取1个球的方案有3种,即红、黑、白三种球只取1个; ③ 取2个球的方案有4种,即2红、1红1黑、1红1白、1黑1白; ④ 取3个球的方案有3种,即2红1黑、2红1白、三色球各一; ⑤ 取4个球的方案有1种,即全取。
2.1 求序列{0,1,8,27,…3n …}的母函数。
解:()()++++++=++++++=nn n x n x x x x G x a x a x a x a a x G 3323322102780()046414321313=+-+--==-----n n n n n n n a a a a a n a n a左右同乘再连加:464:0464:0464:0464:4321543211123455012344=+-+-=+-+-=+-+-=+-+-----------n n n n n n n n n n n n a a a a a x a a a a a x a a a a a x a a a a a x母函数:()()42162036-+-=x x x x G2.2 已知序列()()3433{,,……()33,,n +……},求母函数。
解:1(1)nx -的第k 项为:11()k n n +-- ,对于本题,n=4, ∴母函数为:41(1)x - 2.3 已知母函数G (X )= 25431783x x x--+,求序列{ n a }解:G (X )=)61)(91(783x x x +-+=)61()91(x Bx A ++-从而有: ⎩⎨⎧-==⇒⎩⎨⎧=-=+4778963B A B A B AG (X )=)61(4)91(7x x +-+-G (X )=7)999x (13322 ++++x x -4))6((-6)(-6)x (13322 +-+++x xn a =7*n )6(*49n -- 2.4.已知母函数239156xx x---,求对应的序列{}n a 。
解:母函数为239()156x G x x x -=--39(17)(18)xx x -=+- A BG(x)17x 18xA(18x)B(17x)39x=++--++=-令 A B 38A +7B =9+=⎧⎨--⎩解得:A=2 B=1所以 ii i 0i 021G(x)2*(7x)(8x)17x 18x ∞∞===+=-++-∑∑n n n a 2*(7)8=-+2.5 设n n F G 2=,其中F n 是第n 个Fibonacci 数。