2024.3.26 闲话
歌:天弓天華オトハナビ - ビートまりおとまろん .
快速阶乘算法
给定正整数 \(n\),求 \((2n+1)!!\bmod 2^{32}\) .
\(1\le n\le 10^{18}\) .
令:\(F_k(x)=(2x+1)!!\bmod2^k\),有:
\[F_{k+1}(x)=2x\cdot F_k(x-1)+F_{k+1}(x-1)
\]
也就是 \(F_{k+1}(x)-F_{k+1}(x-1)=2x\cdot F_k(x-1)\) .
从而 \(k\) 每加一多项式次数加二,从而所求为关于 \(x\) 的 \(62\) 次多项式,插值即可 .
可能需要扩域 .
感觉好多东西都能这样 lifting,ord 和逆元都能操作,可能以后看模 \(2^{32}\) 得想 lifting 了 .
meme
以下是博客签名,正文无关
本文来自博客园,作者:Jijidawang,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/18097449
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ