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