2194: 快速傅立叶之二|快速傅里叶变换
来源:互联网 发布:淘宝金酷娃玩具 编辑:程序博客网 时间:2024/05/22 00:08
很容易发现就是把
#include<algorithm>#include<iostream>#include<complex>#include<cstdlib>#include<cstring>#include<cstdio>#include<vector>#include<queue>#include<ctime>#include<cmath>#include<map>#include<set>#define N 266333using namespace std;typedef complex<double> E;const double pi=acos(-1);int m,n,L,R[N],w[N];E a[N],b[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 k=0;k<n;k+=(i<<1)) { E w(1,0); for(int j=0;j<i;j++,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",&m); for(int i=0,x,y;i<m;i++) scanf("%d%d",&x,&y),a[i]=x,b[m-i-1]=y; m*=2;for(n=2;n<m;n<<=1)L++; for(int i=1;i<n;i++)R[i]=(R[i>>1]>>1)|((i&1)<<L); FFT(a,1);FFT(b,1); for(int i=0;i<n;i++)a[i]*=b[i]; FFT(a,-1); for(int i=m/2-1;i<=m-2;i++) printf("%d\n",(int)(a[i].real()+0.1)); return 0;}
0 0
- 2194: 快速傅立叶之二|快速傅里叶变换
- BZOJ 2194 快速傅立叶之二 快速傅里叶变换
- 快速傅里叶变换 FFT 【bzoj2194】 快速傅立叶之二
- 2194: 快速傅立叶之二
- 【BZOJ 2194】 快速傅立叶之二
- bzoj 2194: 快速傅立叶之二
- BZOJ 2194(快速傅立叶之二-FFT)
- bzoj 2194快速傅立叶之二
- 【BZOJ 2194】 快速傅立叶之二|FFT
- 2194: 快速傅立叶之二 FFT
- BZOJ 2194 快速傅立叶之二 FFT
- BZOJ 2194: 快速傅立叶之二
- BZOJ 2194 快速傅立叶之二
- bzoj 2194: 快速傅立叶之二 fft
- BZOJ 2194: 快速傅立叶之二
- 【BZOJ 2194】 快速傅立叶之二
- bzoj 2194 快速傅立叶之二
- BZOJ 2194 快速傅立叶之二
- 基于词典的中文情感倾向分析算法设计
- nginx报错The program 'nginx' can be found in the following packages
- mysql 导出和导入
- SDOI2009
- 漫谈数据库索引
- 2194: 快速傅立叶之二|快速傅里叶变换
- 实用Linux命令行-----一些字符串操作
- This Handler class should be static or leaks might occur 解决办法
- Maven-父构建脚本参考
- ImageView控件的基本用法
- 使用studio引用资源的问题One or more layouts are missing the layout_width or layout_height attributes. These a
- eclipse svn 插件安装
- Apache安装无服务
- IntelliJ 开发j2ee项目设置