bzoj2179(fft模板)
来源:互联网 发布:网络教育 概念股 编辑:程序博客网 时间:2024/04/30 18:56
大整数乘法
#include<cstdio>#include<cmath>#include<cstdlib>#include<cstring>#include<algorithm>#include<complex>#include<set>using namespace std;typedef complex<double> E;const double pi=acos(-1.0);const int N=150005;int n,m,L,c[N],R[N];E a[N],b[N],tmp[N];char ch[N];void fft(E *a,int f){for (int i=0;i<n;i++) if (i<R[i])swap(a[i],a[R[i]]);for (int i=1;i<n;i<<=1){E wn(cos(pi/i),f*sin(pi/i));for (int j=0;j<n;j+=i<<1){E w(1,0);for (int k=0;k<i;k++,w=w*wn){E x=a[j+k],y=w*a[j+k+i];a[j+k]=x+y;a[j+k+i]=x-y;}}}if (f==-1) for (int i=0;i<n;i++) a[i]/=n;}int main(){scanf("%d",&n);scanf("%s",ch);for (int i=0;i<n;i++) a[i]=ch[n-i-1]-'0';scanf("%s",ch);for (int i=0;i<n;i++) b[i]=ch[n-i-1]-'0';m=n*2;while ((1<<L)<m) L++;n=1<<L;for(int i=0;i<n;i++)R[i]=(R[i>>1]>>1)|((i&1)<<(L-1));fft(a,1);fft(b,1);for (int i=0;i<n;i++) a[i]*=b[i];fft(a,-1);for (int i=0;i<m;i++) c[i]=(int)(a[i].real()+0.1);while (c[m]<=0&&m>0) m--;for (int i=0;i<=m;i++) c[i+1]+=c[i]/10,c[i]=c[i]%10;while (c[m+1]) m++,c[m+1]=c[m]/10,c[m]=c[m]%10; for (int i=m;i>=0;i--) printf("%d",c[i]);return 0; }
0 0
- bzoj2179(fft模板)
- [BZOJ2179]-大数乘法-FFT模板
- [BZOJ2179]FFT快速傅立叶(FFT)
- bzoj2179 FFT快速傅立叶 (FFT)
- FFT bzoj2179
- 快速傅里叶变换 FFT 模板【bzoj2179】 FFT快速傅立叶
- 【BZOJ2179】FFT快速傅立叶 高精度乘模板题
- BZOJ2179【FFT】【NTT】
- bzoj2179: FFT快速傅立叶
- [BZOJ2179]FFT快速傅立叶
- bzoj2179 FFT快速傅立叶
- [BZOJ2179]FFT快速傅立叶
- 【bzoj2179】FFT快速傅立叶
- bzoj2179 FFT快速傅立叶
- bzoj2179 bigint * fft
- bzoj2179 FFT快速傅立叶
- bzoj2179: FFT快速傅立叶
- bzoj2179 FFT快速傅立叶
- 各种居中的方式
- CoreOS安装到硬盘
- 对一个文件中的指定信息进行过滤输出结果
- Nodejs 部署到阿里云全过程
- [C#]Array.Sort()排序的原理
- bzoj2179(fft模板)
- 终于开通自己的博客了
- final对于访问效率的影响
- 【Java SE】面向对象高级特性
- 卷积新用之语言模型
- POJ 3882 Stammering Aliens 已被翻译
- Qt设计时钟
- 关于csdn的makdown使用方法
- 洛谷 P1058 立体图