这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
2020-2021:teams:no_morning_training:shaco:知识点:数论:生成函数 [2020/05/28 08:29] shaco |
2020-2021:teams:no_morning_training:shaco:知识点:数论:生成函数 [2020/05/28 08:34] (当前版本) shaco |
||
---|---|---|---|
行 10: | 行 10: | ||
\[\sum_{i=0}^{\infty}{C_{i+k-1}^{k-1}}{x^i}=\frac{1}{(1-x)^k}\] | \[\sum_{i=0}^{\infty}{C_{i+k-1}^{k-1}}{x^i}=\frac{1}{(1-x)^k}\] | ||
====== 解决问题 ===== | ====== 解决问题 ===== | ||
- | 将取不同物品的方案的生成函数相乘,得到的函数中$x^i$的系数即是共取i个物品的方案数。 | + | 将取不同物品的方案的生成函数相乘,得到的函数中$x^i$的系数即是共取i个物品的方案数。\\ |
+ | 通常通过化简约分的方式得到一个形状比较好的化简的生成函数,再将其还原为数列的表达方式,通过组合数学的方法计算系数。 | ||
看一个例子 | 看一个例子 | ||
我们要从苹果、香蕉、橘子和梨中拿一些水果出来,要求苹果只能拿偶数个,香蕉的个数要是5的倍数,橘子最多拿4个,梨要么不拿,要么只能拿一个。问按这样的要求拿n个水果的方案数。 | 我们要从苹果、香蕉、橘子和梨中拿一些水果出来,要求苹果只能拿偶数个,香蕉的个数要是5的倍数,橘子最多拿4个,梨要么不拿,要么只能拿一个。问按这样的要求拿n个水果的方案数。 | ||
- | 苹果的生成函数是$\frac{1}{1-x^2}$,香蕉的生成函数是$\frac{1}{1-x^5}$,橘子的生成函数是$\frac{1-x^5}{1-x},梨的生成函数是$(1+x)$。\\ | + | 苹果的生成函数是$\frac{1}{1-x^2}$,香蕉的生成函数是$\frac{1}{1-x^5}$,橘子的生成函数是$\frac{1-x^5}{1-x}$,梨的生成函数是$(1+x)$。\\ |
- | 将它们相乘得到$\frac{1}{(1-x)^2}$,即为$1+2x+3x^2+···$,于是取''n''种水果就有''n+1''种方案。 | + | 将它们相乘得到$\frac{1}{(1-x)^2}$,即为$1+2x+3x^2+···$,因此取''n''个水果的方案数就是''n+1''。 |
====== 例题 ===== | ====== 例题 ===== | ||
先贴一个吧 | 先贴一个吧 | ||
[[https://www.luogu.com.cn/problem/P2000|洛谷p2000 拯救世界]] | [[https://www.luogu.com.cn/problem/P2000|洛谷p2000 拯救世界]] |