QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: GotoHiotori

Posted at: 2026-02-22 09:58:01

Last updated: 2026-02-22 10:10:29

Back to Problem

New Editorial for Problem #17166

所求单项即为 $$ \sum_{x\in S}\binom{2n-x}{n-x}=\sum_{x\in S}[t^{n-x}](1+t)^{2n-x}=[t^0](t+\frac{1}{t}+2)^n\sum_{x\in S}\left(\frac{t}{1+t}\right)^x $$

请注意这里组合数的写法 $\binom{2n-x}{n-x}$ 使得在 $x>n$ 时能正确地得到 $0$。

记 $f(t)=\sum\limits_{x\in S}\left(\frac{t}{1+t}\right)^x$。

所求即为 $$ [t^0]\frac{f(t)}{1-(2+t+t^{-1})x}\bmod x^{n+1} $$

对这个式子以 $x$ 为主元做 Bostan-Mori,类似于幂级数复合的 Kinoshita-Li 算法,每次乘完一次后可以少保留点东西(因为你只需要提取 $t^0$ 项系数),也可以发现对于 $f(t)$ 只需保留 $f(t)\bmod x^{2(n+1)}$ 即可,计算 $f(t)\bmod x^{2(n+1)}$ 可以通过幂级数复合实现。

综上我们在 $\mathcal{O}(n\log^2n)$ 的时间复杂度内利用 Bostan-Mori 思想解决了这个问题,但换个角度想,我们这里做的事情其实更像是二进制拆分?以及似乎该做法与转格路计数后做网格图分治是本质一样的?

Comments

No comments yet.