[FFT/IFFT]快速傅里叶(逆)变化 + 递归和递推模板
现在时间是2021-2-2,重新回来看2019学习的一知半解的FFTFFTFFT,又有了新的理解
所以修改了以往写过的文章,并增添些许内容
因为过去一年多,上了高中,学的知识多了些,以前不懂的有些东西现在看来挺简单的??
- Add
建议了解系数和点值表示法后直接从复数看起
因为前面很多是第一次学习的时候,为了全面了解
然而似乎并没有起到这个效果??
文章目录
- 引入
- 系数和点值表示法
- 系数表示法
- 概念
- 系数表示法→\rightarrow→点值表示法
- 系数表示法的优缺点
- 点值表示法
- 概念
- 点值表达式-->系数表达式
- 点值表达式的优缺点
- 复数和单位复根
- 复数
- 单位复根
- 傅里叶正变换(一般形式→\rightarrow→点值表达式)
- 理论
- 递归模板
- 傅里叶逆变换(点值表达式-->一般形式)
- 离散傅里叶变换实现
- 理论
- 模板
- 模板的板题运用
- 例题:洛谷P3803【模板】多项式乘法(FFT)
- 递归版CODE
- 迭代版CODE
引入
如果给你一个多项式 A(x)=∑anxnA(x) = ∑a_nx^nA(x)=∑anxn 和 B(x)=∑bnxnB(x) = ∑b_nx^nB(x)=∑bnxn,求 A(x)⋅B(x)A(x) · B(x)A(x)⋅B(x)
你会怎么做??
——可能只能选择O(n2)O(n^2)O(n2),做∑i=1n∑j=1mai∗bj\sum_{i=1}^n\sum_{j=1}^mai*bj∑i=1n∑j=1mai∗bj
但是你觉得那些毒瘤出题dalao,会让你轻轻松松O(n2)O(n^2)O(n2)水过去吗?
如此之高的时间复杂度永远成为了多项式乘法的一个瓶颈…
直到伟大的FFTFFTFFT就出现了,将其优化到O(nlogn)O(nlogn)O(nlogn)
系数和点值表示法
对于求一个n−1n-1n−1次的多项式f(x)f(x)f(x),可以有两种表示方法,并且可以互相转化
系数表示法
概念
f(x)=∑i=0n−1ci∗xif(x)=\sum_{i=0}^{n-1}c_i*x^if(x)=i=0∑n−1ci∗xi
什么意思呢?
[FFT/IFFT]快速傅里叶(逆)变化 + 递归和递推模板相关推荐
- c语言中用递推法解决渔夫问题,递归、递推 - IT小冰的个人空间 - OSCHINA - 中文开源技术交流社区...
递归 定义 :定义一个函数时出现调用本函数的成分,称之为递归 直接递归,自己调自己 间接递归,函数p调函数q,q又调用p 尾递归,递归函数中,递归调用语句是最后一句 递归应满足的条件 : 需要解决的问 ...
- 递归,递推,迭代的区别
递归 程序调用自身的编程技巧称为递归,是函数自己调用自己. 使用递归要注意的有两点: 递归就是在过程或函数里面调用自身: 在使用递归时, 必须有一个明确的递归结束条件, 称为递归出口. 递归分为两个阶 ...
- 递归、递推、贪心、搜索和动态规划
文章目录 递归与递推 动态规划与递归 贪心算法与动态规划 知乎关于动态规划问题的一个问答总结! 参考文献 递归与递推 递归:函数调用自身,直到达到基线条件之后,再一层层的回归到最初的问题.这是一种自顶 ...
- 贪心、递归、递推以及动态规划算法的分析与对比
PS: 头一次规规矩矩的按照论文的格式写文章,呵呵.虽然是小儿科的不能再小儿科的东西了..不过..也忽悠了6000多字~~嘿嘿..肯定写的不好,第一次嘛..所以..接受大家一切批评哈!...文章N ...
- 递归与递推 普通排队问题及带约束条件的排队问题 c代码
先看下题目: 电影院买票排队,票价50,排队的人中携带50元的有20个人,携带100的有10个人,售票处开始时没有余额, 问最多有多少种排队方式使得售票处能够找的开(携带相同数额的人交换位置算一种排队 ...
- 2.3 基本算法之递归变递推 1188 菲波那契数列(2) python
http://noi.openjudge.cn/ch0203/1760/ """2.3 基本算法之递归变递推 1188 菲波那契数列(2)--3分 http://ybt. ...
- 2.3基本算法之递归变递推 1188 菲波那契数列(2)
http://noi.openjudge.cn/ch0203/1760/ /* 2.3基本算法之递归变递推 1188 菲波那契数列(2) http://ybt.ssoier.cn:8088/probl ...
- 2.3 基本算法之递归变递推 放苹果 python
http://noi.openjudge.cn/ch0203/666/ """ 2.3 基本算法之递归变递推 666 放苹果 http://noi.openjudge.c ...
- 2.3基本算法之递归变递推_3525上台阶
http://ybt.ssoier.cn:8088/problem_show.php?pid=1190 /* 2.3基本算法之递归变递推_3525上台阶 http://noi.openjudge.cn ...
最新文章
- 微软重新释出MS10-015 解决蓝屏问题
- CentOS7 下面安装Mysql MMM
- mysql 怎么实现组内排名_MySQL 实现排名(分组排名)
- html调用静态json例子
- 别瞎忙活:创业公司的6条时间管理策略
- go 语言链接服务器上的mysql数据库
- 2.6的网络数据包时间戳
- 快门光圈感光度口诀_光圈、快门、感光度之间的关系
- cmake 安装_linux下安装cmake
- linux清理缓存_[ERROR] Linux 的 No space left on device(磁盘空间不足)
- 思科路由器 DHCP配置
- JS 父子(弹出)窗口操作总结
- highcharts注销
- 【学习笔记】深入理解js原型和闭包(13)——【作用域】和【上下文环境】
- CSDN创始人董事长蒋涛对话阿里云张献涛:距离云计算终极目标还有多远?
- PreparedStatement解读
- 量土地用计算机,土地面积换算(土地面积计算器)
- 用Excel体验梯度下降法计算函数极值
- 第三届SaaS峰会——超超级大咖前来助阵!上午场门票价格即将上调!
- AUTOSAR初了解
热门文章
- 从小害怕数学的他,却成为了科普数学教育的数学家
- 30 个实例详解 TOP 命令
- 自拟计算机作文100字,我的电脑作文100字五篇
- python让函数抛出异常,是否有任何对象可以使str()函数在python中抛出错误或异常?...
- 如何开启jvm日志_做了10个小实验:搞懂了JVM三大参数类型
- mysql 序列_MySql中序列的应用和总结
- vue2的响应式原理学“废”了吗?继续观摩vue3响应式原理Proxy
- post获取重定向的链接 python_【转载】python面试基础知识(四) 网络部分
- LeetCode 138 复制带随机指针的链表-中等
- 第七届蓝桥杯(国赛)——随意组合-dfs,next_permutation