FFT 深夜摸鱼小笔记
本次笔记学习自算法导论
FFT核心:系数表示→(单位复数根)点值表示→(插值)系数表示
关于单位复数根
n次单位复数根\(ω\)为满足\(ω^n=1\)的复数
n次单位复数根恰好有n个,表示为\(ω_k,k=0,1,...n-1\)
由欧拉公式\(e^{iθ}=cosΘ+isinΘ\),得\(ω_k=e^{i2πk/n}\)
主n次单位根\(ω_n=e^{2πi/n}\),其他n次单位复数根都是\(ω_n\)的幂次,表示为\(ω_n^k,k=0,1,...n-1\)
\(ω_n^n=ω_n^0\),\(ω_n^{j+k}=ω_n^{(j+k)mod \ n}\)
消去引理:对于整数\(n≥0,k≥0,d>0\),\(ω_{dn}^{dk}=ω_n^k\)
推论:对于偶数\(n>0\),\(ω_n^{n/2}=ω_2=-1\)
折半引理:偶数\(n>0\),\(n\)个\(ω_n^k\)的平方的集合 = \(n/2\)个\(ω_{n/2}^k\) 的集合
简略证明:\(ω_n^{k+n/2}=ω_n^k*(-1)\),所以平方相等,\(ω_n^{2k}=ω_{n/2}^k\),所以每个n次单位复数根的平方都能获得2个n/2次单位复数根
求和引理:对于整数\(n≥1\)和不被\(n\)整除的\(k≥0\),\(\sum_{j=0}^{n-1}(ω_n^k)^j=0\)
假设\(n\)为2的幂
多项式\(A(x)=A^{[0]}(x^2)+xA^{[1]}(x^2)\)
\(A^{[0]}(x)=a_0+a_2x+a_4x^2+...+a_{n-2}x^{n/2-1}\)
\(A^{[1]}(x)=a_1+a_3x+a_5x^2+...+a_{n-1}x^{n/2-1}\)
\(A(x)\)的点值表示可以通过\(A^{[0]}(x)\)和\(A^{[1]}(x)\)来表示,既\((ω_n^0)^2,(ω_n^1)^2,...(ω_n^{n-1})^2\)来表示
由折半引理,上式仅由\(n/2\)个\(n/2\)次单位复数根$所组成,所以不断递归子问题规模都会减半
(最近破事较多,后续部分有空再补上)
FFT 深夜摸鱼小笔记的更多相关文章
- GitHub 热点速览 Vol.27:程序员的自我救赎——GitHub 摸鱼
作者:HelloGitHub-小鱼干 摘要:都知道 VSCode 有各种摸鱼小插件,边听云音乐.边在 IDE 斗地主,再来一个 NBA 直播,怎一个美滋滋了得.作为 VSCode 的同门,GitHub ...
- [摸鱼]cdq分治 && 学习笔记
待我玩会游戏整理下思绪(分明是想摸鱼 cdq分治是一种用于降维和处理对不同子区间有贡献的离线分治算法 对于常见的操作查询题目而言,时间总是有序的,而cdq分治则是耗费\(O(logq)\)的代价使动态 ...
- python爬虫14 | 就这么说吧,如果你不懂python多线程和线程池,那就去河边摸鱼!
你知道吗? 在我的心里 你是多么的重要 就像 恩 请允许我来一段 freestyle 你们准备好了妹油 你看 这个碗 它又大又圆 就像 这条面 它又长又宽 你们 在这里 看文章 觉得 很开心 就像 我 ...
- 转:用 Python 一键分析你的上网行为, 看是在认真工作还是摸鱼
简介 想看看你最近一年都在干嘛?看看你平时上网是在摸鱼还是认真工作?想写年度汇报总结,但是苦于没有数据?现在,它来了. 这是一个能让你了解自己的浏览历史的Chrome浏览历史记录分析程序,当然了,他仅 ...
- 删库吧,Bug浪——我们在同一家摸鱼的公司
那些口口声声, Bug越来越难写人的,应该盯着你们: 像我一样,我盯着你们,满眼恨意. IT积攒了几十年的漏洞, 所有的死机.溢出.404和超时, 像是专门为你们准备的礼物. 圈复杂度.魔鬼变量.内存 ...
- vscode插件(摸鱼神器-小霸王游戏机
vscode插件(摸鱼神器-小霸王游戏机 步骤 vscode扩展搜索小霸王,点击下载即可. 使用 默认有一个demo小游戏,即超级玛丽. 本地仓库 可以通过local菜单上的添加按钮添加本地nes r ...
- 老板防止我上班摸鱼,给我装了个chrome插件
<铁柱幻想的摸鱼生活> 9:30:到达公司,开开电脑,收拾一下办公桌 9:40:吃个早餐,接杯水(一定要多喝水,一个肾结石同事的出院后的衷心建议) 10:00:打开"技术网站&q ...
- 用 WinUI 3 开发了一个摸鱼应用
1. 开发了一个摸鱼 App 我做了一个简单的 App:摸鱼. 如上图所示,这个 App 就只有一个按钮,点击后假装开始 Windows Update,然后用户就可以光明正大地摸鱼了. 不要小看摸鱼, ...
- Chrome插件:提醒你正在摸鱼,摸鱼的时候知道自己在摸鱼,减少摸鱼的时间和频率。
stop-mess-around 项目介绍 减少摸鱼的时间和频率的Chrome插件:在上班/学习期间很容易下意识的打开摸鱼网站,插件帮助我们减少摸鱼的时间和频率,提高我们上班和学习的效率,节省时间用于 ...
随机推荐
- 8-python模拟登入(无验证码)
方式: 1.手动登入,获取cookie 2.使用cookielib库 和 HTTPCookieProcessor处理器 #_*_ coding: utf-8 _*_ ''' Created on 20 ...
- Python 网络爬虫 010 (高级功能) 解析 robots.txt 文件
解析 robots.txt 文件 使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 Python 的集成开发环境:PyCharm 2016 ...
- 10.LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式. LIKE 操作符 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式. SQL LIKE 操作符语法 SELECT colum ...
- jqgrid常用操作
.jqgrid控件列在需要的地方加上edittable=true <asp:JQGrid runat=" DataUrl="/ccr/CcrCompanyPromoterMa ...
- oracle 序列初始化的plsql块脚本
declare seq_name dba_sequences.SEQUENCE_NAME%TYPE; cursor mycur is select * from dba_sequences where ...
- bug记录:IE8,包含块min-height/height共存时的高度计算bug
问题的条件有: A元素是B元素的包含块. A元素设置overflow:hidden;,并同时设置了height和min-height,同时height计算值 < min-height 原生IE8 ...
- System.Web.UI.Page事件执行顺序
#region OnPreInit 第一步(显式重写,文章下面有隐式重写) protected override void OnPreInit(EventArgs e) { //检查 IsPostBa ...
- C# How To Read .xlsx Excel File With 3 Lines Of Code
Download Excel.zip - 9.7 KB Download ExcelDLL.zip - 3.7 KB Introduction We produce professional busi ...
- C++ 虚基类 派生与继承
在学习设计模式时我就有一个疑问,关联和继承除了用法上的区别,好像在内存上并没有什么区别,继承也是父类作为了子类的元素(内存上),关联也是这样.而且关联好像更占内存一些.这就是设计模式里问题了“依赖倒转 ...
- c# 解析MP3文件
不说那么多,网上有很多关于MP3文件说明的. 该C#代码是将C\C++转化过来的,可能存在问题. 如有需要的朋友可以参考. 项目中的文件路径大家自己修改. 下载地址