拆系数FFT(任意模数FFT)】的更多相关文章

拆系数FFT 对于任意模数 \(mod\) 设\(m=\sqrt {mod}\) 把多项式\(A(x)\)和\(B(x)\)的系数都拆成\(a\times m+b\)的形式,时\(a, b\)都小于\(m\) 提出,那么一个多项式就可以拆成两个多项式的加法 一个是\(a*m\)的,一个是\(b\)的 直接乘法分配律,\(aa\)一遍,\(ab\)一遍,\(ba\),\(bb\)一遍,四遍\(FFT\) 乘出来不会超过取模范围 然后合并直接 \[(a\times m+b)(c\times m+d)…
任意模数FFT 这是一个神奇的魔法,但是和往常一样,在这之前,先 \(\texttt{orz}\ \color{orange}{\texttt{matthew99}}\) 问题描述 给定 2 个多项式 \(F(x), G(x)\) ,请求出 \(F(x) * G(x)\). 系数对 p 取模,\(2 \le p \le 10^9+9\) 拆系数FFT 我们考虑令\(M\)为\(\sqrt{p}\),那么我们可以将原本的多项式拆成4个. \(F(x)=A(x)*M+B(x)\) \(G(X)=C(…
题目大意 求多项式 \(\prod_{i=1}^n(x+i)\) 的系数在模 \(p\) 意义下的分布,对 \(998244353\) 取模. \(p\) 为质数. \(n\leq {10}^{18},p\leq 250000\) 题解 我们只计算 \([1,p-1]\) 的分布,最后再算出 \(0\) 的出现次数. 记 \(n1=\lfloor\frac{n}{p}\rfloor,n2=n\bmod p\).若 \(n\bmod p=p-1\),则 \(n1=\lfloor\frac{n}{p…
卡精度的任意模数fft模板题……这道题随便写个表就能看出规律来(或者说考虑一下实际意义),反正拿到这题之后,很快就会发现他是任意模数fft模板题.然后我就去网上抄了一下板子……我打的是最土的任意模数fft,就是fft7次的那种……(好像有很多方法的样子……)这种任意模数fft方法见http://blog.csdn.net/l_0_forever_lf/article/details/52886397这道题的具体做法见http://blog.csdn.net/qq_33229466/article…
1258 序列求和 V4 题意:求\(S_m(n) = \sum_{i=1}^n i^m \mod 10^9+7\),多组数据,\(T \le 500, n \le 10^{18}, k \le 50000\) 等幂求和 多项式求逆元\(O(mlogm)\)预处理伯努利数,然后可以\(O(m)\)回答 因为是任意模数,所以要用拆系数fft 拆系数fft+多项式求逆元,写的爽死了 具体内容可能会写学习笔记 注意: 多项式求逆元里拆系数,不能只更新 .x= ,这样的话y还保留以前的值就错了 因为使用…
hdu 4656 Evaluation 题意:给出\(n,b,c,d,f(x) = \sum_{i=1}^{n-1} a_ix^i\),求\(f(b\cdot c^{2k}+d):0\le k < n\) 取模\(10^6+3\) 昨天刚看过<具体数学>上求和一章 代入\(b\cdot c^{2k}+d\)然后展开,交换求和顺序,得到 \[ f(k) = \sum_{j=0}^n \frac{b^j c^{2kj}}{j!} \sum_{i=j}^n a_i i! \frac{d^{i-…
题目:https://www.luogu.org/problemnew/show/P4245 三模数NTT: 大概是用3个模数分别做一遍,用中国剩余定理合并. 前两个合并起来变成一个 long long 的模数,再要和第三个合并的话就爆 long long ,所以可以用一种让两个模数的乘积不出现的方法:https://blog.csdn.net/qq_35950004/article/details/79477797 x*m1+a1 = -y*m2 + a2  <==>  x*m1+y*m2…
题目:https://www.luogu.org/problemnew/show/P4245 用三模数NTT做,需要注意时间和细节: 注意各种地方要取模!传入 upt() 里面的数一定要不超过2倍 mod! 乘法会爆 long long 时用快速乘! 两次合并的模数,第一次是 (ll) p1*p2,第二次直接对题目的模数取模即可! 注意局部开 (ll)! 合并时用到的逆元每次都一样,所以要先处理好而不是现场快速幂算!! 然而为什么时间还是 Narh 的两倍! 一晚上的心血... 代码如下: #i…
学习内容:国家集训队2016论文 - 再谈快速傅里叶变换 模板题:http://uoj.ac/problem/34 1.基本介绍 对长度为L的\(A(x),B(x)\)进行DFT,可以利用 \[ \begin{align} P(x)=A(x)+iB(x) \tag{1} \\ Q(x)=A(x)-iB(x) \tag{2} \end{align} \] 对\(P(x)\)进行DFT,得到\(F_p\). \(Q(x)\)的结果 DFT\(F_q[k]=!(F_p[2L-k])\),(!表示取共轭…
模拟考某题一开始由于校内OJ太慢直接拆系数FFT跑不过 后来被神仙婊了一顿之后发现复杂度写炸了改了改随便过 模版题:任意模数NTT 三模数NTT 常数巨大,跑的极慢 拆系数FFT 原理是对于两个多项式$ P=\sum\limits_{i=0}^{n-1}P_ix^i \ \ Q=\sum\limits_{i=0}^{m-1}Q_ix^i$ 直接$ FFT$计算会发现值域达到$ 10^{23}$会炸精度 设 $ A=\sum\limits_{i=0}^{n-1}(P_i>>15)x^i \ \…