bzoj2194 快速傅利葉之二

2022-08-26 14:42:25 字數 524 閱讀 7778

題目又是一句話:請計算c[k]=sigma(a[i]*b[i-k]) 。

其中 k < = i < n ,並且有 n < = 10 ^ 5。 a,b中的元素均為小於等於100的非負整數。

思路:先把b倒著讀,然後下標的和就確定了,然後就上fft開搞了。

#include#include#include#include#includeconst double pi=m_pi;

const int maxn=270010;

using namespace std;

struct plextmp[maxn];

plex operator +(plex a,plex b);}

plex operator -(plex a,plex b);}

plex operator *(plex a,plex b);}

int n,nn;

struct dft,t=(plex);

int p=bg,p0=bg,p1=bg+step;

for (int i=0;i

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...