FFT复健中。。。
把柿子拆开 两边分别变成q卷g g是1/i^2就可以了(第二个把q翻转就好了)
菜到这个都想不出(
附代码。
FFT学习笔记先等我鸽着吧
#include#include #include #include #include #define inf 20021225#define ll long long#define mxn 300100#define db double#define eps 1e-8using namespace std;int rev[mxn],l,lim,n;typedef complex cp;cp a[mxn<<1],b[mxn<<1],q[mxn],p[mxn],g[mxn];db ans[mxn];const db PI=acos(-1);void FFT(cp *A,int f){ for(int i=0;i i) swap(A[rev[i]],A[i]); for(int k=1;k <<=1) { cp Wn=cp(cos(PI/k),f*sin(PI/k)); for(int R=k<<1,i=0;i >1]>>1)|((i&1)<<(l-1)); for(int i=1;i