0%

P1919 【模板】高精度乘法 | A*B Problem 升级版

思路讲解

使用FFT。

注意给FFT喂入的是从低到高的。

输出前注意去除前导0。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
string A,B;
cin>>A>>B;
vll a,b;
ROF(i,SZ(A)-1,0){
a.pb(A[i]-'0');
}
ROF(i,SZ(B)-1,0){
b.pb(B[i]-'0');
}
vll ans=multiply(a, b);
ll carry=0;
FOR(i,0,SZ(ans)-1){
ans[i]+=carry;
carry=ans[i]/10;
ans[i]%=10;
}
while (!ans.empty() && ans.back()==0) {
ans.pop_back();
}
if(SZ(ans)==0){
cout<<0;
return;
}
ROF(i,SZ(ans)-1,0){
cout<<ans[i];
}

AC代码

https://www.luogu.com.cn/record/229526218

心路历程(WA,TLE,MLE……)