Luogu5401
这里主要记录一下如何用二元生成函数并不快速地推导生成函数式,顺带给出一种蛮暴的做法。
元 \(x\) 表示数量,并在这一维度上做出 EGF 的策略。
元 \(y\) 表示贡献。
\[\sum_n{x^ny^{\lfloor\frac n2\rfloor}\over n!}
\\=\sum_{2|n}{x^ny^{\frac n2}\over n!}
+\sum_{2\nmid n}{x^ny^{\frac{n-1}2}\over n!}
\\=\sum_n{x^ny^{\frac n2}\over n!}[2|n]
+\sum_{n}{x^ny^{\frac{n-1}2}\over n!}[2\nmid n]
\\=\sum_n{x^ny^{\frac n2}\over n!}{1+(-1)^n\over2}
+\sum_{n}{x^ny^{\frac{n-1}2}\over n!}{1-(-1)^n\over2}
\\={\exp(x\sqrt y)+\exp(-x\sqrt y)\over2}+{1\over\sqrt y}{\exp(x\sqrt y)-\exp(-x\sqrt y)\over2}
\\=\ch(x\sqrt y)+{\sh(x\sqrt y)\over\sqrt y}
\]
\[\sum_{t\ge m}[{x^n\over n!}y^t] (\ch(x\sqrt y)+{\sh(x\sqrt y)\over\sqrt y})^D
\\=n!\sum_{t\ge m}[x^{n-2t}y^{2t}] (\ch y+x{\sh y\over y})^D
\\=n!\sum_{t\ge m}[y^{2t}]\binom D{n-2t}({\sh y\over y})^{n-2t} (\ch y)^{D-n+2t}
\\=n!\sum_{t\ge m}[y^n]\binom D{n-2t}({\sh y})^{n-2t} (\ch y)^{D-n+2t}
\\=[{z^n\over n!}]\sum_{t\ge m}\binom D{n-2t}(\sh^{n-2t}z)(\ch^{D-n+2t}z)
\\=2^{-D}[{z^n\over n!}]\sum_{t\le n-2m}\binom Dt(e^{z}-e^{-z})^t(e^{z}+e^{-z})^{D-t}
\]
接下来就可以暴力展开转 OGF 转复合了。
\[2^{-D}\sum_T(D-2T)^n[z^T] (1+z)^D\sum_{t\le n-2m,t\le D}\binom Dt({1-z\over1+z})^t
\]
然后会出现一个多项式右复合的形式,推一下可以很 bf 地复合求出整个柿子。大致就是 \({1-z\over1+z}=2\times{1\over1+z}-1\),里面的分式可以通过翻转系数的做法也转成普通的横坐标平移。
复杂度 \(O(d\log d)\)。
实际效率蛮高的,可以在总计 1s 内得解(不过可能和我的实现里用了 DIF-DIT 有关)。
似乎有基于 ODE 的无需转复合的近线性做法?
本文来自博客园,作者:myee,转载请注明原文链接:https://www.cnblogs.com/myee/p/Luogu-solution-p5401.html