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

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

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

​编辑

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

​编辑

那么要怎么加速呢?

​编辑

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

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

​编辑

​编辑

​编辑

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

​编辑

这里解释一下单位根:

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

ω^n=1

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

分治法!

Fn矩阵计算起来很简单:

相关推荐
吃杠碰小鸡21 分钟前
前端 IndexedDB 完全指南
学习
宵时待雨29 分钟前
C++笔记归纳14:AVL树
开发语言·数据结构·c++·笔记·算法
问道飞鱼1 小时前
【大模型学习】LangGraph 深度解析:定义、功能、原理与实践
数据库·学习·大模型·工作流
左左右右左右摇晃1 小时前
JDK 1.7 ConcurrentHashMap——分段锁
java·开发语言·笔记
烤麻辣烫1 小时前
I/O流 基础流
java·开发语言·学习·intellij-idea
云边散步2 小时前
godot2D游戏教程系列二(22)
笔记·学习·游戏
jincheng_2 小时前
软件设计师上午题|9模块极速背诵版
学习
Schengshuo2 小时前
Spring学习——新建module模块
java·学习·spring
chushiyunen2 小时前
langchain实现agent智能体笔记
笔记·langchain
jyan_敬言3 小时前
【算法】高精度算法(加减乘除)
c语言·开发语言·c++·笔记·算法