生成函数
1.
$\quad $ 对于序列 {\(a_n\)} , \(a_n=1^n\) ,其生成函数为 \(g(x)=\sum _{n=0}^{\infty}{a_n x^n}\) 。
$\quad $ 现在推导其封闭形式,先将其乘一个 \(x\) ,可以得到:
$\quad $ 两式相减可得:
$\quad $ 从而得到原序列的生成函数的封闭形式 \(g(x)=\frac{1}{1-x}\) 。
$\quad $ 看到这你可能觉得我的推导完全是扯淡。很明显:当 \(x \ge 1\) 的时候等号不成立。实际上,该等号只在其收敛域 \((-1,1)\) 内成立,至于收敛域的求法嘛,自己探索吧(其实是我也不会🌚)。
(下面的目的与上一个相同,故下文只写序列及推导)
2.
$\quad $ \(a=\langle 0,1,1,1,1,\cdots \rangle\)
$\quad $ 以下均将其展开
3.
$\quad $ $a=\langle 1,0,1,0,1,0,\cdots \rangle $
4.
$\quad $ \(a=\langle 1,2,3,4,\cdots \rangle\)
4.
$\quad $ \(a_n=C_{m}^{n}\)
$\quad $ 就是一个裸的二项式定理。
5.
$\quad $ \(a=C_{m+n}^{n}\)
$\quad $ 这里用了广义二项式定理, \(C_{m}^{n}\) 不再代表组合数,当然这里用 \(C_{m}^{n}\) 并不严谨🌚。《理解大意即可》
$\quad $ 只是推导是无法感受到生成函数的魅力的🌚,做两道题感受一下你就会知道生成函数的巨大威力。
P2000 拯救世界
$\quad $ 只是简单的组合问题,我们用普通型生成函数即可。首先列出各限制条件的生成函数。
\(g_1 (x)=1+x^6+x^{12}+\cdots\)
\(g_2(x)=1+x+x^2+x^3+x^4+x^5+x^6+x^7+x^8+x^9\)
\(g_3(x)=1+x+x^2+x^3+x^4+x^5\)
\(g_4(x)=1+x^4+x^8+x^{12}+\cdots\)
\(g_5(x)=1+x+x^2+x^3+x^4+x^5+x^6+x^7\)
\(g_6(x)=1+x^2+x^4+\cdots\)
\(g_7(x)=1+x\)
\(g_8(x)=1+x^8+x^{16}+\cdots\)
\(g_9(x)=1+x^{10}+x^{20}+\cdots\)
\(g_{10}(x)=1+x+x^2+x^3\)
$\quad $ 再分别求出其封闭形式:
\(g_1(x)=\frac{1}{1-x^6}\)
\(g_2(x)=\frac{1-x^{10}}{1-x}\)
\(g_3(x)=\frac{1-x^6}{1-x}\)
\(g_4(x)=\frac{1}{1-x^4}\)
\(g_5(x)=\frac{1-x^8}{1-x}\)
\(g_6(x)=\frac{1}{1-x^2}\)
\(g_7(x)=\frac{1-x^2}{1-x}\)
\(g_8(x)=\frac{1}{1-x^8}\)
\(g_9(x)=\frac{1}{1-x^{10}}\)
\(g_{10}(x)=\frac{1-x^4}{1-x}\)
$\quad $ 再算出这十个生成函数的积:
$\quad $ 然后用一个广义二项式定理展开这个级数,这里放一个结论(其实就是上面证过的)🌚:
$\quad $ 然后放心展开就好了:
$\quad $ 我们要求的就是这个级数第 \(n\) 项的系数,用 \(Python\) 水一下高精度就好了。
点击查看代码
import sys
sys.set_int_max_str_digits(500000)
n=int(input())
print(int(n+1)*int(n+2)*int(n+3)*int(n+4)//24)
$\quad $ 《其实还有一道题来着,先鸽了》。