bzoj2179: FFT快速傅立叶 FFT裸题

FFT可以看具体数学 和ACdreamer的博客。 模板果然还是黄学长的短
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
#define maxn 1000000
#define pi acos(-1.0)
typedef complex E;
int n,m,L;
char ch[maxn];
int R[maxn],c[maxn];
E a[maxn],b[maxn];
void fft(E *a,int f)
{
    for(int i=0;i>1]>>1)|((i&1)<<(L-1));
    fft(a,1);fft(b,1);
    for(int i=0;i<=n;i++) a[i]=a[i]*b[i];
    fft(a,-1);
    for(int i=0;i<=m;i++) c[i]=(int)(a[i].real()+0.1);
    for(int i=0;i<=m;i++)
        if(c[i]>=10)
    {
        c[i+1]+=c[i]/10,c[i]%=10;
            if(i==m) m++;
    }
    for(int i=m;i>=0;i--)printf("%d",c[i]);
    return 0;
}

你可能感兴趣的:(数论)