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

posted @ 2024-03-26 20:05  Jijidawang  阅读(147)  评论(6编辑  收藏  举报
😅​