P2000

· · 个人记录

拯救世界

在学校机房里看的。

比较适合作为生成函数的入门例题。

但是要写高精度,在学校里还是算了。

只讲一下思路。

根据题目所给的十个限制,我们其实可以列出十个生成函数:

F_1(x)=\sum_{n\ge 0}x^{6n}=\dfrac{1}{1-x^6} F_2(x)=\sum_{n=0}^9x^n=\dfrac{1-x^{10}}{1-x} F_3(x)=\sum_{n=0}^5x^n=\dfrac{1-x^6}{1-x} F_4(x)=\sum_{n\ge 0}x^{4n}=\dfrac{1}{1-x^4} F_5(x)=\sum_{n=0}^7x^n=\dfrac{1-x^8}{1-x} G_1(x)=\sum_{n\ge 0}x^{2n}=\dfrac{1}{1-x^2} G_2(x)=\sum_{n=0}^1x^n=\dfrac{1-x^2}{1-x} G_3(x)=\sum_{n\ge0}x^{8n}=\dfrac{1}{1-x^8} G_4(x)=\sum_{n\ge 0}x^{10n}=\dfrac{1}{1-x^{10}} G_5(x)=\sum_{n=0}^3x^n=\dfrac{1-x^4}{1-x}

然后这个题的组合意义是什么?

n 块且满足条件,显然把 10 个生成函数乘起来,对于次数为 n 的项的系数就是答案(实质就是背包,不如说背包的实质其实是生成函数)。

不多做解释。

然后我们发现这个题最后乘下来的答案非常漂亮:

H(x)=\dfrac{1}{(1-x)^5}

这玩意是什么?

熟悉的人一眼就可以看出来,不做赘述。

H(x)=\sum_{n\ge 0}\dbinom{n+4}{n}x^n

n 项的系数就是 \dbinom{n+4}{n}=\dfrac{(n+1)(n+2)(n+3)(n+4)}{24},就是答案。

但是这个题要高精度,而且要 NTT。。。。