bzoj 2179: FFT快速傅立叶 -- FFT
2179: FFT快速傅立叶
Time Limit: 10 Sec Memory Limit: 259 MB
Description
Input
Output
Sample Input
3
4
Sample Output
数据范围:
n<=60000
HINT
#include<map> #include<cmath> #include<queue> #include<cstdio> #include<complex> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define cp complex<double> #define ll long long #define PI acos(-1) #define N 200010 int n,m,c[N],L=-1,r[N]; cp a[N],b[N]; char s1[N],s2[N]; void FFT(cp *x,int f) {for(int i=0;i<n;i++) if(i<r[i]) swap(x[i],x[r[i]]);for(int i=1;i<n;i<<=1){cp wn(cos(PI/i),f*sin(PI/i));for(int j=0;j<n;j+=(i<<1)){cp w(1,0),X,Y;for(int k=0;k<i;k++,w*=wn){X=x[j+k];Y=w*x[j+k+i];x[j+k]=X+Y;x[j+k+i]=X-Y;}}} } int main() {scanf("%d%s%s",&n,s1,s2);n--;for(int i=0;i<=n;i++) a[i]=s1[n-i]-'0';for(int i=0;i<=n;i++) b[i]=s2[n-i]-'0';m=n<<1;for(n=1;n<=m;n<<=1) L++;for(int i=0;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=0;i<=m;i++) c[i]=(int)(a[i].real()/n+0.1);for(int i=0;i<=m;i++){if(c[i]>9){c[i+1]+=c[i]/10;c[i]%=10;if(i==m)m++;}}for(int i=m;i>=0;i--) printf("%d",c[i]);return 0; }
转载于:https://www.cnblogs.com/lkhll/p/6901953.html
bzoj 2179: FFT快速傅立叶 -- FFT相关推荐
- bzoj 2179 FFT快速傅立叶 FFT
题面 题目传送门 解法 题如其名-- 不妨将多项式的\(x^i\)变成\(10^i\),然后就是一个比较简单的FFT了 md读进来的是一个字符串,并且要倒序 最后注意进位问题 时间复杂度:\(O(n\ ...
- [BZOJ2179]FFT快速傅立叶
[BZOJ2179]FFT快速傅立叶 题目大意: 求\(a\times b(1\le a,b\le10^{60000})\). 思路: FFT模板. 源代码: #include<cmath> ...
- FFT快速傅立叶变换在示波器中的用法
大多数示波器上都有个FFT功能,也叫快速傅立叶变换,但很多人不了解这个功能是做什么用的,百度以后又会遇到各种各样的高数公式,看的一头雾水,遂而放弃这块知识. 我们来看百度百科的解释: FFT,即为快速 ...
- bzoj 2179 FFT快速傅立叶
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2179 注意进位的时候最好先把所有的都变成 int 再普通进位. #include<io ...
- 如何使用计算机实现fft,快速傅立叶变换(FFT)的计算机实现..doc
快速傅立叶变换(FFT)的计算机实现. 信号与系统课程设计 --FFT的计算机实现 快速傅里叶变换(FFT)的计算机实现 赖智鹏 华中科技大学电气与电子工程学院0809班U200811806 Emai ...
- 数字信号处理FFT快速傅立叶变换MATLAB实现——实例
今天做作业的时候发现要对一个信号进行FFT变换,在网上找了半天也没找到个能看懂的(因为我太菜了),后来自己研究了一下,感觉一知半解的 起因是这道作业题 例题-满足奈奎斯特 我画了两个图,一个是原信号经 ...
- FFT快速傅立叶变换
//最近突然发现博客园支持\(\rm\LaTeX\),非常高兴啊! 话说离省选只有不到五天了还在学新东西确实有点逗-- 切到正题,FFT还是非常神奇的一个东西,能够反直觉地把两个多项式相乘的时间复杂度 ...
- 解题报告(二)C、(darkBZOJ 2194) 快速傅立叶之二(FFT、卷积的概念、常用变换)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- BZOJ_2179_FFT快速傅立叶_(FFT)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=2179 超大整数乘法 分析 FFT模板题. 把数字看成是多项式,x是10.然后用FFT做多项式乘 ...
- BZOJ 2179 [快速傅里叶变换 高精度乘法]
2179: FFT快速傅立叶 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 3108 Solved: 1599 [Submit][Status][ ...
最新文章
- xmanager破解待验证
- ansys结构分析单元与应用_结构动力学中的时域分析(3) —— 基于ANSYS的实现
- 网工必备的存储知识详解
- 产品经理要懂的「技术那些事」
- delphi调用c#写的webservice中文出现乱码的问题
- Linux环境下安装部署AWStats日志分析系统实例
- 评论:互联网的冬天还有多远?
- 湘教云实名服务平台怎样认证_【i通知】小贝喊你来校园一卡通微信支付实名认证!...
- xshell7个人免费版官方下载,无需破解,免激活
- L2-016 愿天下有情人都是失散多年的兄妹【DFS】
- nginxlocation打印自定义日志
- 滑动窗口切割图片并重定位标注框
- Openssl移植到ARM开发板
- 软件测试 学习之路 SQL语言及navicat使用
- fgets函数的使用
- Jump lattice 跳格子
- lazada发货_LAZADA怎么发货?lazada发货流程详解
- 微信小程序 用户协议和隐私协议
- css简介,基本语法
- SaaSBase:Flowportal是什么?