loj6077

题面

多项式 yyds!

设答案为 \(f_{n,k}\)

你随便可推出:

\[f_{n,k}=\sum\limits_{i=0}^{n-1}f_{n-1,k-i} \]

显然 naive dp \(O(nk)\) 一般是过不了 1e5 的。

设 OGF:

\[f_n(x)=\sum\limits_{k=0}^{+\infty}f_{n,k}\,x^k \]

那么

\[f_n(x)=\sum\limits_{i=0}^{n-1}x^if_{n-1}(x)\\ =f_{n-1}(x)\sum\limits_{i=0}^{n-1}x^i\\ =f_{n-1}(x)\times\frac{1-x^n}{1-x}\]

算上边界,易有

\[f_n(x)=\frac{\prod\limits_{i=1}^n(1-x^i)}{(1-x)^n} \]

即求 \([x^k]f_n(x)\)

分数线上面的柿子,我们上一个多项式 Euler 变换(参见P4389 付公主的背包

对下面的柿子,我们有

\[\frac1{(1-x)^n}=\sum\limits_m\dbinom{m+n-1}mx^m \]

而我们由于只求一项,所以把上面算出来后暴力卷积出这一项即可。

注意模数 \(10^9+7\),需要 MTT。你可能需要一个快一点的板子。

AC记录

被Peter给D了QAQ

posted @ 2022-02-14 15:11  myee  阅读(42)  评论(0编辑  收藏  举报