luogu 2000

一道生成函数例题

如果对生成函数的知识不太了解,看这里

下面认为你已经了解了生成函数的内容

那么看见这种问题直接上生成函数嘛!

直接构造...10个生成函数

福利时间:这10个生成函数如下:

$F(x)=1+x^{6}+x^{12}+...=\frac{1}{1-x^{6}}$

$F(x)=1+x+x^{2}+...+x^{9}=\frac{1-x^{10}}{1-x}$

$F(x)=1+x+...+x^{5}=\frac{1-x^{6}}{1-x}$

$F(x)=1+x^{4}+x^{8}+...=\frac{1}{1-x^{4}}$

$F(x)=1+x+...+x^{7}=\frac{1-x^{8}}{1-x}$

$F(x)=1+x^{2}+....=\frac{1}{1-x^{2}}$

$F(x)=1+x=\frac{1-x^{2}}{1-x}$

$F(x)=1+x^{8}+...=\frac{1}{1-x^{8}}$

$F(x)=1+x^{10}+...=\frac{1}{1-x^{10}}$

$F(x)=1+x+x^{2}+x^{3}=\frac{1-x^{4}}{1-x}$

 (打公式好累)

那么...把这10个东西乘在一起...就可以了吧

不要担心项太多,可以发现大量的分子分母可以约分,因此直接约掉,最后结果是$\frac{1}{(1-x)^{5}}$

还记得开头那篇文章里提到的模型吗?

这个东西不就等价于$\sum_{i=0}^{∞}C_{i+5-1}^{5-1}x_{i}$

那么题中所求的不就是$i=n$时的系数嘛!

最后答案即为$C_{n+4}^{4}$

可是...$n$好大呀

FFT?NTT?高精度压位?

我选择python

所以就有了这段两行的代码

n=int(input())
print((n+1)*(n+2)*(n+3)*(n+4)/24)

 

posted @ 2019-06-11 20:47  lleozhang  Views(216)  Comments(0Edit  收藏  举报
levels of contents