P.s. 本文是菜鸡笔者整理知识点以及做书上例题搞的 可能偏鸡肋/easy,谨慎食用)
例题:(《组合数学》习题二)
1.求不包含连续(0)的(01)序列个数。
设(f_n)表示长度为(n)的满足题意的序列个数。则(f_n=f_{n-1}+f_{n-2}.)
解析:考虑往合法序列末尾能加的数,只有两种:(1,10.)所以分别对应(f_{n-1},f_{n-2}.)如果加(01,)相当于对(f_n)后面加(1,)所以没有遗漏。
2.问由(X,Y,Z,U)组成的字符串且满足(U)的个数为偶数的长度为(n)的字符串有多少个。
设(F(x))为答案的指数型生成函数,对于(X,Y,Z)来讲,它们的生成函数都是(e^x,)对于(U)来说,它的生成函数是(frac{e^{-x}+e^{x}}{2})
所以:
展开一下就是:
故而(f_n=2^{n-1}+2^{2n-1}.)
这里注意一点:普通型生成函数求的是 多重组合数 ,而指数型生成函数求的是 多重排列数。也就是说,指数型生成函数把同一种元素不同选法的差异给去除了。
关于多重排列数与多重组合数:
观察到上述例2中,(f_n=n![x^n]F(x),)这里就是“指数型生成函数求的是多重排列数”的意义所在,对于一种“组合”,把它化为排列需要乘以一个(n!.)
例题2考虑的并不只是选法,它还考察了对于一种字母搭配,它有多少种排列,这就是这题选择指数型生成函数的原因。
3.给定方程(sum_ {i=1}^4 x_i =r,x_1in [0,4],x_2in left{ 1,3,5,7 ight},x_3,x_4 in even<10)
显然它们的生成函数是(F(x)=(1+x+x^2+x^3+x^4)cdot (x+x^3+x^5+x^7)cdot (x^2+x^4+x^6+x^8)^2.)
知识点穿插:
对于形如(1-x^n)的展开式,把它看成((1-x)cdot (1+x+...+x^{n-1}),)后者用等比数列求和知道它就是(frac{1-x^n}{1-x}.)
所以上面式子可以重新写成: