NTT

\(\text{NTT}\)\(\text{FFT}\) 在数论基础上的实现,最主要的区别就是把 \(\omega_n\) 换为 \(g^{\frac{p-1}{2^n}}\),其中 \(g\) 为原根,\(p\) 为模数,必须满足 \(2^n\mid (p-1)\)

常用 \(\text{NTT}\) 模数(表中 \(p=b2^n+1\)):

\(p\) \(b\) \(n\) \(g\)
\(167772161\) \(5\) \(25\) \(3\)
\(469762049\) \(7\) \(26\) \(3\)
\(754974721\) \(3^2\times 5\) \(24\) \(11\)
\(998244353\) \(7\times 17\) \(23\) \(3\)
\(1004535809\) \(479\) \(21\) \(3\)

除此外只要把复数运算替换为模运算即可,时间复杂度相同

posted @ 2025-04-24 20:47  Hstry  阅读(9)  评论(0)    收藏  举报