高级算法设计与分析 学习笔记14 FFT

本章我们研究多项式乘法。

我们直接乘,时间复杂度是n^2。使用FFT则可以变成nlgn

​编辑

可以看到两个n°的多项式,我们直接乘,每种组合都要试一遍,就会要是n^2遍

​编辑

那么要怎么加速呢?

​编辑

首先多项式可以通过这种方法来表示

记录下n个点,想要原版形式的话就解矩阵方程吧。

​编辑

​编辑

​编辑

不过这种表示法太奇怪了,能不能来经典形式的?

​编辑

这里解释一下单位根:

单位根是复数分析中的一个概念,它是指满足以下等式的复数 ωω:

ω^n=1

这里的 n 是一个正整数,表示单位根的阶数。换句话说,单位根是一个复数,当它被提升到 n 次幂时,结果为1。单位根在复平面上的单位圆上均匀分布。

分治法!

Fn矩阵计算起来很简单:

相关推荐
不会代码的小猴5 小时前
C++的第九天笔记
开发语言·c++·笔记
专注于大数据技术栈6 小时前
java学习--枚举(Enum)
java·学习
我命由我123457 小时前
开发中的英语积累 P19:Inspect、Hint、Feedback、Direction、Compact、Vulnerability
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
老王熬夜敲代码8 小时前
C++中的thread
c++·笔记·面试
qq_12498707538 小时前
基于SpringBoot学生学习历史的选课推荐系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·学习·毕业设计·毕设
崇山峻岭之间8 小时前
C++ Prime Plus 学习笔记033
c++·笔记·学习
暗然而日章9 小时前
C++基础:Stanford CS106L学习笔记 7 类
c++·笔记·学习
思成不止于此9 小时前
【MySQL 零基础入门】DDL 核心语法全解析:数据库与表结构操作篇
数据库·笔记·学习·mysql
学编程的闹钟9 小时前
86【CSS的模块化处理】
学习
lkbhua莱克瓦249 小时前
Java进阶——IO流
java·开发语言·笔记·学习方法·io流