现在时间是2021-2-2,重新回来看2019学习的一知半解的FFTFFTFFT,又有了新的理解
所以修改了以往写过的文章,并增添些许内容
因为过去一年多,上了高中,学的知识多了些,以前不懂的有些东西现在看来挺简单的??

  • Add
    建议了解系数和点值表示法后直接从复数看起
    因为前面很多是第一次学习的时候,为了全面了解
    然而似乎并没有起到这个效果??

文章目录

  • 引入
  • 系数和点值表示法
    • 系数表示法
      • 概念
      • 系数表示法→\rightarrow→点值表示法
      • 系数表示法的优缺点
    • 点值表示法
      • 概念
      • 点值表达式-->系数表达式
      • 点值表达式的优缺点
  • 复数和单位复根
    • 复数
    • 单位复根
  • 傅里叶正变换(一般形式→\rightarrow→点值表达式)
    • 理论
    • 递归模板
  • 傅里叶逆变换(点值表达式-->一般形式)
  • 离散傅里叶变换实现
    • 理论
    • 模板
  • 模板的板题运用
    • 例题:洛谷P3803【模板】多项式乘法(FFT)
    • 递归版CODE
    • 迭代版CODE

引入

如果给你一个多项式 A(x)=∑anxnA(x) = ∑a_nx^nA(x)=∑an​xn 和 B(x)=∑bnxnB(x) = ∑b_nx^nB(x)=∑bn​xn,求 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=1m​ai∗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−1​ci​∗xi
什么意思呢?

[FFT/IFFT]快速傅里叶(逆)变化 + 递归和递推模板相关推荐

  1. c语言中用递推法解决渔夫问题,递归、递推 - IT小冰的个人空间 - OSCHINA - 中文开源技术交流社区...

    递归 定义 :定义一个函数时出现调用本函数的成分,称之为递归 直接递归,自己调自己 间接递归,函数p调函数q,q又调用p 尾递归,递归函数中,递归调用语句是最后一句 递归应满足的条件 : 需要解决的问 ...

  2. 递归,递推,迭代的区别

    递归 程序调用自身的编程技巧称为递归,是函数自己调用自己. 使用递归要注意的有两点: 递归就是在过程或函数里面调用自身: 在使用递归时, 必须有一个明确的递归结束条件, 称为递归出口. 递归分为两个阶 ...

  3. 递归、递推、贪心、搜索和动态规划

    文章目录 递归与递推 动态规划与递归 贪心算法与动态规划 知乎关于动态规划问题的一个问答总结! 参考文献 递归与递推 递归:函数调用自身,直到达到基线条件之后,再一层层的回归到最初的问题.这是一种自顶 ...

  4. 贪心、递归、递推以及动态规划算法的分析与对比

    PS:   头一次规规矩矩的按照论文的格式写文章,呵呵.虽然是小儿科的不能再小儿科的东西了..不过..也忽悠了6000多字~~嘿嘿..肯定写的不好,第一次嘛..所以..接受大家一切批评哈!...文章N ...

  5. 递归与递推 普通排队问题及带约束条件的排队问题 c代码

    先看下题目: 电影院买票排队,票价50,排队的人中携带50元的有20个人,携带100的有10个人,售票处开始时没有余额, 问最多有多少种排队方式使得售票处能够找的开(携带相同数额的人交换位置算一种排队 ...

  6. 2.3 基本算法之递归变递推 1188 菲波那契数列(2) python

    http://noi.openjudge.cn/ch0203/1760/ """2.3 基本算法之递归变递推 1188 菲波那契数列(2)--3分 http://ybt. ...

  7. 2.3基本算法之递归变递推 1188 菲波那契数列(2)

    http://noi.openjudge.cn/ch0203/1760/ /* 2.3基本算法之递归变递推 1188 菲波那契数列(2) http://ybt.ssoier.cn:8088/probl ...

  8. 2.3 基本算法之递归变递推 放苹果 python

    http://noi.openjudge.cn/ch0203/666/ """ 2.3 基本算法之递归变递推 666 放苹果 http://noi.openjudge.c ...

  9. 2.3基本算法之递归变递推_3525上台阶

    http://ybt.ssoier.cn:8088/problem_show.php?pid=1190 /* 2.3基本算法之递归变递推_3525上台阶 http://noi.openjudge.cn ...

最新文章

  1. 微软重新释出MS10-015 解决蓝屏问题
  2. CentOS7 下面安装Mysql MMM
  3. mysql 怎么实现组内排名_MySQL 实现排名(分组排名)
  4. html调用静态json例子
  5. 别瞎忙活:创业公司的6条时间管理策略
  6. go 语言链接服务器上的mysql数据库
  7. 2.6的网络数据包时间戳
  8. 快门光圈感光度口诀_光圈、快门、感光度之间的关系
  9. cmake 安装_linux下安装cmake
  10. linux清理缓存_[ERROR] Linux 的 No space left on device(磁盘空间不足)
  11. 思科路由器 DHCP配置
  12. JS 父子(弹出)窗口操作总结
  13. highcharts注销
  14. 【学习笔记】深入理解js原型和闭包(13)——【作用域】和【上下文环境】
  15. CSDN创始人董事长蒋涛对话阿里云张献涛:距离云计算终极目标还有多远?
  16. PreparedStatement解读
  17. 量土地用计算机,土地面积换算(土地面积计算器)
  18. 用Excel体验梯度下降法计算函数极值
  19. 第三届SaaS峰会——超超级大咖前来助阵!上午场门票价格即将上调!
  20. AUTOSAR初了解

热门文章

  1. 从小害怕数学的他,却成为了科普数学教育的数学家
  2. 30 个实例详解 TOP 命令
  3. 自拟计算机作文100字,我的电脑作文100字五篇
  4. python让函数抛出异常,是否有任何对象可以使str()函数在python中抛出错误或异常?...
  5. 如何开启jvm日志_做了10个小实验:搞懂了JVM三大参数类型
  6. mysql 序列_MySql中序列的应用和总结
  7. vue2的响应式原理学“废”了吗?继续观摩vue3响应式原理Proxy
  8. post获取重定向的链接 python_【转载】python面试基础知识(四) 网络部分
  9. LeetCode 138 复制带随机指针的链表-中等
  10. 第七届蓝桥杯(国赛)——随意组合-dfs,next_permutation