参考博客 : 按照顺序看
使用
四个数字组成五位数 , 要求
出现次数不能超过
次 , 但必须出现 ,
出现次数不超过
次 ,
出现次数最多
次 ,
出现偶数次 ,
求上述五位数的个数 ;
这就是一个求解 多重集排列 的题目 , 使用 指数生成函数 ;
一共有
个位置 , 使用
向这
个位置中填充 ,
选取个数分析 :
出现不超过
次 , 不能不出现 , 也就是必须大于
, 则可选取的个数是
,
出现不超过
次 , 可选取个数
,
出现可以达到
次 , 可选取的个数
,
出现偶数次 , 可选取个数是
, 这里注意一共选择
个 , 最终求解多重集时 , 主要是看
前的次幂数 , 因此这里的 可选取个数就是单个因式中的
次幂数 , 没必要超过
, 选择
即可 ;
按照下面的模型 , 写出指数生成函数 ;
多重集
多重集
的
排列数 组成数列
, 对应的指数生成函数是 :
★
其中每个生成函数项
是
★
将
展开 , 其中的
系数就是多重集的排列数 ; ★
指数生成函数写法 :
① 确定生成函数项个数 : 多重集元素种类个数
② 确定生成函数项中的分项个数 : 选取值 个数 ;
③ 分项格式 :
④ 分项次幂 : 选取值 ;
总共有
种元素
, 因此生成函数是
个生成函数项相乘 ;
元素对应的生成函数项 :
元素对应的生成函数项 :
元素对应的生成函数项 :
元素对应的生成函数项 :
, 这里只选取
个 , 求
的次幂的
前的系数 , 这里只需要选取到
即可 ,
以上的数完全不需要 , 可以忽略 ;
将上述指数生成函数中四个 指数生成函数项相乘 , 计算出
前的系数 , 就是多重集的排列数 ;
后面的就不算了 , 其中
的项是
, 因此题目中要求的
位数的个数是
个 ;