参考博客 :
是多重集 , 其含有
个种类的元素 ,
是每种元素的重复度 ,
该 多重集的
组合数 , 是 不定方程
的非负整数解 , 前提是
, 每个元素所取的个数
, 不能超过其重复度
;
相当于
取
个 ,
取
个 ,
,
取
个 , 总共取
个 ;
是无穷个数时 , 多重集的
组合数是
回顾多重集排列组合 :
, 非全排列
上述的 多重集
组合数
是在重复度不受限制的情况下的选取结果 , 如果重复度受限制 , 就需要使用生成函数进行计算 ;
如添加如下限制 :
最多能取
个 ,
最少取
个 , 最多取
个 ;
生成函数 :
多重集中的每个元素的取值个数作为
的次幂 , 如
元素的取值个数是
到
, 则该项对应的 生成函数项是 从
的
次幂 , 到
的
次幂 相加 ; 构成项
;
将所有元素的上述 生成函数项 乘到一起 , 就构成上述生成函数 ;
按照多项式乘法 , 多重集中取
个元素 ,
从第一个因式
拿出
,
从第二个因式
拿出
,
从第
个因式
拿出
,
如果上述乘积
的结果 是
, 即
, 相当于指数
, 也就是不定方程的非负整数解 ;
多重集
, 求该多重集的
组合数 ;
上述多重集元素的 重复度
都不超过
;
对应
元素 , 其 重复度取值范围是
~
, 对应的生成函数项是
对应
元素 , 其 重复度取值范围是
~
, 对应的生成函数项是
对应
元素 , 其重 复度取值范围是
~
, 对应的生成函数项是
将上述项相乘 , 得到完整的生成函数 ;
统计上述两项相乘 ,
的次幂值为
的项 :
第一个因式的
与第二个因式的
, 相乘为
第一个因式的
与第二个因式的
, 相乘为
第一个因式的
与第二个因式的
, 相乘为
项前的系数是
因此上述 多重集的
组合 ,选择方案有
种 ;