文章目录
- 一、使用生成函数求解多重集 r 组合数
- 二、使用生成函数求解多重集 r 组合数 示例
参考博客 :
- 【组合数学】生成函数 简要介绍 ( 生成函数定义 | 牛顿二项式系数 | 常用的生成函数 | 与常数相关 | 与二项式系数相关 | 与多项式系数相关 )
- 【组合数学】生成函数 ( 线性性质 | 乘积性质 )
- 【组合数学】生成函数 ( 移位性质 )
- 【组合数学】生成函数 ( 求和性质 )
- 【组合数学】生成函数 ( 换元性质 | 求导性质 | 积分性质 )
- 【组合数学】生成函数 ( 性质总结 | 重要的生成函数 ) ★
- 【组合数学】生成函数 ( 生成函数示例 | 给定通项公式求生成函数 | 给定生成函数求通项公式 )
- 【组合数学】生成函数 ( 生成函数应用场景 | 使用生成函数求解递推方程 )
一、使用生成函数求解多重集 r 组合数
是多重集 , 其含有
个种类的元素 ,
是每种元素的重复度 ,
该 多重集的
组合数 , 是 不定方程
的非负整数解 , 前提是
, 每个元素所取的个数
, 不能超过其重复度
;
相当于
取
个 ,
取
个 ,
,
取
个 , 总共取
个 ;
是无穷个数时 , 多重集的
组合数是
回顾多重集排列组合 :
- 可重复的元素 , 有序的选取 , 对应 多重集的排列 ;
, 非全排列
- 可重复的元素 , 无序的选取 , 对应 多重集的组合 ;
上述的 多重集
组合数
是在重复度不受限制的情况下的选取结果 , 如果重复度受限制 , 就需要使用生成函数进行计算 ;
如添加如下限制 :
最多能取
个 ,
最少取
个 , 最多取
个 ;
生成函数 :
多重集中的每个元素的取值个数作为
的次幂 , 如
元素的取值个数是
到
, 则该项对应的 生成函数项是 从
的
次幂 , 到
的
次幂 相加 ; 构成项
;
将所有元素的上述 生成函数项 乘到一起 , 就构成上述生成函数 ;
按照多项式乘法 , 多重集中取
个元素 ,
从第一个因式
拿出
,
从第二个因式
拿出
,
从第
个因式
拿出
,
如果上述乘积
的结果 是
, 即
, 相当于指数
, 也就是不定方程的非负整数解 ;
二、使用生成函数求解多重集 r 组合数 示例
多重集
, 求该多重集的
组合数 ;
上述多重集元素的 重复度
都不超过
;
对应
元素 , 其 重复度取值范围是
~
, 对应的生成函数项是
对应
元素 , 其 重复度取值范围是
~
, 对应的生成函数项是
对应
元素 , 其重 复度取值范围是
~
, 对应的生成函数项是
将上述项相乘 , 得到完整的生成函数 ;
统计上述两项相乘 ,
的次幂值为
的项 :
第一个因式的
与第二个因式的
, 相乘为
第一个因式的
与第二个因式的
, 相乘为
第一个因式的
与第二个因式的
, 相乘为
项前的系数是
因此上述 多重集的
组合 ,选择方案有
种 ;