第二章母函数与递推关系习题
- 格式:ppt
- 大小:234.00 KB
- 文档页数:34
递推关系与母函数法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 拆分成恰好三项的拆分数。
习题11、 基本题:1~9,14,16,19,22~23,29,312、 加强题:11~12,17,18,21,283、 关联题:10,27,4、 提高题:13,15,20,24~26,30,321-1 在1到9999之间,有多少个每位上数字全不相同而且由奇数构成的整数?(解)问题相当于求在相异元素{}9,7,5,3,1中不重复地取1个、2个、…、4个元素的所有排列数,答案为45352515P P P P +++=5+20+60+120=2051-2 比5400小并具有下列性质的正整数有多少个?(1) 每位的数字全不同;(2) 每位数字不同且不出现数字2与7。
(解)(1)分类统计:①一位正整数有919=P 个;②两位正整数有1919P P ⨯=81个;③三位正整数有2919P P ⨯=9×9×8=648个;④千位数小于5的四位数有3914P P ⨯=4×9×8×7=2016个;⑤千位数等于5,百位数小于4的数有28141P P ⨯⨯=4×8×7=224个。
由乘法法则,满足条件的数的总个数为9+81+648+2016+224=2978(2)仿(1),总个数为17P +1717P P ⨯+2717P P ⨯+3713P P ⨯+26131P P ⨯⨯=7+49+294+630+150=11301-3 一教室有两排,每排8个坐位,今有14名学生,问按下列不同的方式入座,各有多少种坐法?(1) 规定某5人总坐在前排,某4人总在后排,但每人具体坐位不指定;(2) 要求前排至少坐5人,后排至少坐4人。
(解)(1)5人在前排就座,其坐法数为 ()58,P ,4人在后排就座,其坐法数为 ()48,P ,还空7个坐位,让剩下的54514=--个人入坐,就座方式为 ()57,P 种,由乘法法则,就座方式总数为()58,P ()48,P ()57,P =28 449 792 000 (2)因前排至少需坐6人,最多坐8人,后排也如此。
组合数学部分第1章 排列与组合例1:1)、求小于10000的含1的正整数的个数;2、)求小于10000的含0的正整数的个数;解:1)、小于10000的不含1的正整数可看做4位数,但0000除外.故有9×9×9×9-1=6560个.含1的有:9999-6560=3439个2)、“含0”和“含1”不可直接套用。
0019含1但不含0。
在组合的习题中有许多类似的隐含的规定,要特别留神。
不含0的1位数有19个,2位数有29个,3位数有39个,4位数有49个 不含0小于10000的正整数有()()73801919999954321=--=+++个含0小于10000的正整数9999-7380=2619个。
例2:从[1,300]中取3个不同的数,使这3个数的和能被3整除,有多少种方案?解:将[1,300]分成3类:A={i|i ≡1(mod 3)}={1,4,7,…,298},B={i|i ≡2(mod 3)}={2,5,8,…,299},C={i|i ≡0(mod 3)}={3,6,9,…,300}.要满足条件,有四种解法:1)、3个数同属于A;2)、3个数同属于B ;3)、3个数同属于C;4)、A,B,C 各取一数;故共有3C(100,3)+1003=485100+1000000=1485100。
例3:(Cayley 定理:过n 个有标志顶点的数的数目等于2-n n )1)、写出右图所对应的序列;2)、写出序列22314所对应的序列;解:1)、按照叶子节点从小到大的顺序依次去掉节点(包含与此叶子节点相连接的线),而与这个去掉的叶子节点相邻的另外一个内点值则记入序列。
如上图所示,先去掉最小的叶子节点②,与其相邻的内点为⑤,然后去掉叶子节点③,与其相邻的内点为①,直到只剩下两个节点相邻为止,则最终序列为51155.。
2)、首先依据给定序列写出(序列长度+2)个递增序列,即1234567,再将给出序列按从小到大顺序依次排列并插入递增序列得到:112223344567。
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.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 数。