【題目分析】
咦,這不是卷積裸題。
敲敲敲,結果樣例也沒過。
看看看,臥槽i和k怎麼反了。
艹艹艹,把b陣列取個反。
靠靠靠,怎麼全是零。
算算算,最終的取值範圍算錯了。
交交交,總算是a掉了。
【**】
#include #include #include #include #include #include #include #include #include #include using namespace std;#define maxn 500005
#define inf 0x3f3f3f3f
#define ll long long
#define cp complex
#define f(i,j,k) for (int i=j;i<=k;++i)
#define d(i,j,k) for (int i=j;i>=k;--i)
void finout()
int getint()
while (ch>='0'&&ch<='9')
return x*f;
}struct complex; }
complex operator - (complex a) ; }
complex operator * (complex a) ; }
}a[maxn],b[maxn],c[maxn];
int n,m,len,rev[maxn],sum;
const double pi=acos(-1.0);
void fft(complex * x,int n,int f)
; //當前的主單位根
for (int i=0;i>1);++j)
} }}
int main()
fft(a,n,1); fft(b,n,1);
f(i,0,n-1) c[i]=a[i]*b[i];
fft(c,n,-1);
f(i,0,n-1) (c[i].x/=n)+=0.4;
f(i,sum-1,sum*2-2) printf("%lld\n",(ll)c[i].x);
}
bzoj 2194 快速傅利葉之二
time limit 10 sec memory limit 259 mb submit 1314 solved 772 submit status discuss 請計算c k sigma a i b i k 其中 k i n 並且有 n 10 5。a,b中的元素均為小於等於100的非負整數。第一...
BZOJ 2194 快速傅利葉之二
已知 a,b a,b 序列,計算 ck ai bi k ck ai bi k 觀察題目名稱,可以想到fft fft能解決的是形如下面的式子 hk fi gk i hk fi gk i 可以發現,f f 陣列的下標和 g role presentation style position relativ...
bzoj2194 快速傅利葉之二
題目鏈結 給出兩個長度為n的數列a,b。求乙個數列c滿足 c k sum limits na i b i k n le 10 5 長得和卷積很像,觀察一下卷積的形式 c k sum limits ia i b k i 所以先把b陣列翻轉過來。然後所求的式子就變成了 c k sum limits na...