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

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

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

​编辑

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

​编辑

那么要怎么加速呢?

​编辑

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

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

​编辑

​编辑

​编辑

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

​编辑

这里解释一下单位根:

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

ω^n=1

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

分治法!

Fn矩阵计算起来很简单:

相关推荐
ALKAOUA3 小时前
力扣面试150题刷题分享
javascript·笔记
無限進步D3 小时前
Java 循环 高级(笔记)
java·笔记·入门
怪侠_岭南一只猿3 小时前
爬虫工程师入门阶段一:基础知识点完全学习文档
css·爬虫·python·学习·html
左左右右左右摇晃3 小时前
Spring + SpringMVC 面试题整理笔记(二)
笔记
今天你TLE了吗4 小时前
JVM学习笔记:第八章——执行引擎
java·jvm·笔记·后端·学习
左左右右左右摇晃4 小时前
Spring Boot + Vue 实现文件上传下载
笔记
蒙***团4 小时前
使用 MinMix 创建 Tailwindcss 学习网站全流程经验分享
学习
y = xⁿ4 小时前
【从零开始学习Redis|第四篇】从底层理解缓存问题:雪崩、击穿、穿透与一致性设计
java·redis·学习·缓存
在坚持一下我可没意见5 小时前
软件测试入门复习笔记:BUG篇
笔记·bug·测试
温柔一只鬼.5 小时前
GUI学习——day2
java·开发语言·学习