- 1
- 0
- 约6.75千字
- 约 64页
- 2018-10-11 发布于河北
- 举报
计数与生成
§3 生成函数与排列组合 生成函数与排列组合之间有着密切的关系,对于有些比较难求的排列组合问题,利用生成函数能容易地解决。 定义: 称(1+z)n为组合问题的生成函数,组合数Crn恰是生成函数(1+z)n二项式展开后zr前的系数。 目的:求组合问题的解,而不是由组合问题的解求生成函数。因此,希望能对具体的问题构造出生成函数,再由zr系数来求组合问题的解,即组合问题的解应是某生成函数所对应的数列的通项。 考虑(1+z)n=(1+z)(1+z)…(1+z) [n个因子乘] 求从n个对象中取γ个进行组合的方式数,每个因子(1+z)代表一个对象,因子中有二项,1=z0表示没取到;z=z1表示取到 二项式展开时,zr是由于这些因子中有γ个取的是z,(n-γ)个取的是1而产生的: 有n个对象,就对应n个因子,每个因子中应包括题意中可以出现的情况,如取到或取不到,取到的个数以z的指数形式表示,我们把这种思想加以扩充,扩充到一种对象可取多个的情况。 n类可以重复选取的对象(充分供应),任取γ个的组合数,是典型问题7)。 如果用生成函数来解,可以想到,应该有n个因子,由于每类对象都可以无限止的选取,因此,每个因子应形如:(1+z+z2+…),z的次数正是此对象被选取的次数。 在0点展开第k+1项 例3:某单位有8个男同志,5个女同志,现要组织一个由偶数个男同志和不少于2个女同志组成的工作组,有多少种组织法? 男同志取偶数个,有0,2,4,6,8四种情况,但是男同志不能看成一类对象,8个男同志是8个不同的人,选取的人数定下后,选谁还有不同方案,如果选二人参加,就有C28种方案,因此,有关男同志的因子应为: A(z) =(1+28z2+70z4+28z6+z8) (10z2+10z3+5z4+z5) =10z2+10z3+285z4+281z5 +840z6+728z7+630z8 +350z9+150z10+38z11 +5z12+z13 有10种方法组织2人小组; 10种方法组织3人小组; 285种方法组织4人小组; …… 5种方法组织12人小组; 1种方法组织13人小组; 共有3328种组织法。 例1: 3个黑球,2个白球,任取3个排 列,有几种排法? 先考虑任取3个组合的情况A(z) =(1+z+z2+z3)(1+z+z2) =1+2z+3z2+3z3+2z4+z5 任取三个的组合有a3=3种方法,但这里只知道方法的种数,而不知如何组合的,如果对黑球,白球作标记,z1为黑球,z2为白球。A(z) =(1+z1+z12+z13)(1+z2+z22) =1+(z1+z2)+(z12+z22+z1z2) +(z13+z12z2+z1z22)+(z13z2+z12z22) +z13z22 由加法原则,任取三个球的排列有1+3+3=7种。z12z2的排列数的分母中有2!,是由于z12的平方项而来的,因此,2!应跟着因子中的z2项一起来,构造有关排列的生成函数, 例2: 重集S={m1·e1,m2·e2,…,mn·en}求从S中取γ个元素的排列数。 §5 排列与组合的生成算法 在实际应用中,往往不仅需要计数,而且要把各种情况都枚举出来。 一、 字典序排列法 定义: 顺序:排列a1,a2,…,an中相邻两数 ai<ai+1,称为一个顺序。 逆序:排列a1,a2,…,an中相邻两数 ai>ai+1,称为一个逆序。 例: 排列1 3 2 6 5 4 顺序:13,26,逆序:32,65,54。 对n个对象进行全排列,有n!个排列,可以对n个对象加上标记。 不失一般性,我们只需对n个自然数{1,2,…,n}进行全排列,枚举出所有的情况。 字典序排列算法 1.给出初始排列:p1=1,2,3,4,…,n 2.若pk已定义 (1≤k≤n!-1) pk=a1,a2,…,am,…,an 则按下列规定,定义pk的下一个排列 pk+1=b1,b2,…,bm,…,bn (1)寻找am:m=max{j|aj<aj+1} 即am,am+1是最右面的顺序,自am+1开始均为 逆序。 (2)给出bi(i=1,2,…,n) a)第m项之前的项不变:
原创力文档

文档评论(0)