2194 快速傅利葉之二

2021-07-25 13:58:39 字數 1059 閱讀 1635

time limit: 10 sec  

memory limit: 259 mb

submit: 1078  

solved: 619 [

submit][

status][

discuss]

請計算c[k]=sigma(a[i]*b[i-k]) 其中 k < = i < n ,並且有 n < = 10 ^ 5。 a,b中的元素均為小於等於100的非負整數。

第一行乙個整數n,接下來n行,第i+2..i+n-1行,每行兩個數,依次表示a[i],b[i] (0 < = i < n)。

輸出n行,每行乙個整數,第i行輸出c[i-1]。 5

3 12 4

1 12 4

1 424

121061

[submit][

status][

discuss]

把b數列整個翻轉,就能構造出卷積的形式了,

然後上個ntt解決。。。寫這題主要是複習演算法啦= =

#include#include#include#include#include#include#include#includeusing namespace std;

const int maxn = (1<<19);

typedef long long ll;

const ll p = 1004535809;

const ll g = 3;

int n,n = 1;

ll a[maxn],b[maxn],c[maxn],w[maxn];

ll ksm(ll x,int y)

return ret;

}void rader(ll *f)

}void ntt(ll *f,int on)

} if (on == -1) }

int main()

2194 快速傅利葉之二

請計算c k sigma a i b i k 其中 k i n 並且有 n 10 5。a,b中的元素均為小於等於100的非負整數。第一行乙個整數n,接下來n行,第i 2.i n 1行,每行兩個數,依次表示a i b i 0 i n 輸出n行,每行乙個整數,第i行輸出c i 1 53 1 2 41 1...

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