免责声明

原文地址https://blog.csdn.net/linjiayang2016/article/details/80341958,作者linjiayang2016.\text{linjiayang2016}.linjiayang2016.

本文是对原文的微薄补充,目的是为了更好地读懂原文。

正弦sin⁡\sinsin, 余弦cos⁡\coscos



$RT.\ 在在在Rt△ABC中,中,中,∠B=90°$,则有

sin⁡ A=BCAC\sin\ A=\frac{BC}{AC}sin A=ACBC​

cos⁡ A=ABAC\cos\ A=\frac{AB}{AC}cos A=ACAB​

快速傅里叶变换过程

以用FFTFFTFFT解决多项式乘法的问题为例。

$1.\ 读入多项式读入多项式读入多项式a,b$;

$2.\ 对对对a,b$分别做傅里叶变换;

3. a∗=b3.\ a*=b3. a∗=b;

$4.\ 对对对a数组做逆变换并除以长度数组做逆变换并除以长度数组做逆变换并除以长度n$.

## 关于单位根的补充说明
$\ \ \ \ w^k_n*w^1_n$
$=(\cos\ k*\frac{2\pi}{n}+\sin\ k*\frac{2\pi}{n}\ i)\ *\ (\cos\ \frac{2\pi}{n}+\sin\ \frac{2\pi}{n}\ i)$
$=\cos\ k*\frac{2\pi}{n}\ *\ \cos\ \frac{2\pi}{n}\ +\ \sin\ k*\frac{2\pi}{n}\ i\ *\ \cos\ \frac{2\pi}{n}$
$\quad+\ \cos\ k*\frac{2\pi}{n}\ *\ \sin\ \frac{2\pi}{n}\ i\ +\ \sin\ k*\frac{2\pi}{n}\ i\ *\ \sin\ \frac{2\pi}{n}\ i$
$=\cos\ ((k+1)*\frac{2\pi}{n})\ +\ \sin\ ((k+1)*\frac{2\pi}{n})$
$=w^{k+1}_n.$


## 两角和公式
$\sin\ (A+B)=\sin\ A·\cos\ B+\cos\ A·\sin\ B$
$\cos\ (A+B)=\cos\ A·\cos B-\sin\ A·\sin\ B$


## 快速傅里叶逆变换
原文中的$y$指的是上文的$a$,原文中的$a$指答案数组.


对于$c_i=\sum\limits^{n-1}_{j=0}a_j(\sum\limits^{n-1}_{i=0}(w^{j-k}_n)^i)$$\ \ \ (k$是常数$)$,
$1.\ $当$j-k=0$时,$w^{j-k}_n=1+0i$,$\therefore \sum\limits^{n-1}_{i=0}(w^{j-k}_n)^i=n$;
$2.\ $当$j-k≠0$时,原文已阐述详尽,在此不做赘述.


## 线性求翻转序列
对于已知的翻转序列$r_i$,我们在它前面加上$1$或$0$,就得到了$r_{2i+1}$和$r_{2i+2}.$
举例. $\because r_6=11_{(2)}$,
$\therefore r_{13}=$ `0`$11_{(2)}.\ \ $(在$r_6$前补`0`)
$\quad r_{14}=$ `1`$11_{(2)}.\ \ $(在$r_6$前补`1`)

《FFT家族—从不会到崩溃(坑)》读blog笔记的更多相关文章

  1. 读paper笔记[Learning to rank]

    读paper笔记[Learning to rank] by Jiawang 选读paper: [1] Ranking by calibrated AdaBoost, R. Busa-Fekete, B ...

  2. 【每日一题】Squares UVA - 201 暴力+输出坑 + 读文件模板

    题意 给你n*n的图,让你数正方形 题解:暴力for每个点,对于每个点从它出发顺时针走一个正方形.走完就ans[i]++; 坑:多输了一行******,然后在那里手摸样例,无限debug orz #d ...

  3. 在 ASP.NET Core 中发送邮件遇到的坑_学习笔记

    功能需求 因为项目需要有个忘记密码验证邮箱再重新修改密码的功能,然后我选用了很简单的一个方案,通过验证登录用户的邮箱然后发送邮件,通过这个邮件发送的链接地址来最后实现密码修改的小功能. 项目环境及实现 ...

  4. 新开的坑-python学习笔记(1)——连接符与转义

    1/print输出格式虽然知道怎么用却还要打破砂锅的问问题... 问题答案是 需要读很多基础文档教程 --------例如 "+"  . "," 作为连接符的作 ...

  5. 五、mariadb遇到的坑——Linux学习笔记

    C#连接MySQL异常:The host localhost does not support SSL connections. 解决方案: 连接字符串添加如下语句. SslMode = none; ...

  6. WEB 前端模块化,读文笔记

    文章链接 WEB 前端模块化都有什么? 知识点 根据平台划分 浏览器 AMD.CMD 存在网络瓶颈,使用异步加载 非浏览器 CommonJS 直接操作 IO,同步加载 浏览器 AMD 依赖前置 req ...

  7. viewport移动端适配,读文笔记

    文章地址: viewport移动端适配 笔记: 移动端适配目的: 希望在屏幕尺寸大小不同的手机上进行访问页面时,页面显示的效果能合理的展示,我们期望的是在手机屏幕较大时显示的内容比较大一些,手机屏幕小 ...

  8. JavaScript DOM 编程艺术(第二版) 初读学习笔记

    这本书留给我的印象就是结构.表现和行为层的分离,以及书后面部分一直在强调的最佳实践原则:平稳退化,逐步增强,向后兼容以及性能考虑. 要注意这不是一本JavaScript入门书籍~ 2.1 准备工作 用 ...

  9. 解决问题:当redis服务端断开的时候`进程会崩溃(转载6哥笔记)

    package main import ( "fmt" "github.com/astaxie/beego/logs" "github.com/gar ...

随机推荐

  1. java读取Excel —— XSSFWorkbook 找不到该类

  2. 4.12号HTML、CSS

    HTML 表单元素: 多行文本域<textarea> 标签定义多行的文本输入控件.文本区中可容纳无限数量的文本,其中的文本的默认字体是等宽字体(通常是 Courier).可以通过 cols ...

  3. Redis常用命令(key、string、List)

    1.Key 1.keys *   查询所有数据 2.exists key名   判断key名是否存在 3.move key名  数据库号(0-15)  移动数据key名到相应的数据库 4.expire ...

  4. DevExpress的对话框XtraMessageBox的使用

    场景 在Winform中一般弹出对话框使用的是MessageBox,而在 DevExpress中使用的是XtraMessageBox实现对话框. 效果 实现 首先新建确认按钮的调用方法: public ...

  5. 今天遇到 Request failed: method not allowed (405)。 错误,特此在网上翻了翻

    Q1: 遇到405请求错误.提示:NSLocalizedDescription=Request failed: method not allowed (405).解决方案:405请求方法不被允许.这时 ...

  6. 02 (H5*) Vue第二天

    目录: 1:全局过滤器的使用 2:局部过滤器 3:自定义键盘码 4:自定义指令 5:自定义私有指令 6:Vue生命周期. 7:网络请求 1:全局过滤器的使用 Vue.filter("msgF ...

  7. ORA-08102异常重现及恢复

    现象: 在表上面新建主键报ORA-08102的异常: SQL> alter table t add primary key(id); alter table t add primary key( ...

  8. BASLER Pylon 抓取策略

    BASLER Pylon 抓取策略 ( 涛哥工业技术 微信号 TaoRobotics) One by One Grab Strategy 逐个抓取策略 当使用 one by one 抓取模式时,图像按 ...

  9. Django之choices选项和富文本编辑器的使用

    项目准备 1.创建数据库 create database choices_test default charset utf8; 2.创建一个名为 choices_test 的Django项目: 3.创 ...

  10. 用Python构造ARP请求、扫描、欺骗

    目录 0. ARP介绍 1. Scapy简述 2. Scapy简单演示 2.1 安装 2.2 构造包演示 2.2.1 进入kamene交互界面 2.2.2 查看以太网头部 2.2.3 查看 ICMP ...