《FFT家族—从不会到崩溃(坑)》读blog笔记
免责声明
原文地址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笔记的更多相关文章
- 读paper笔记[Learning to rank]
读paper笔记[Learning to rank] by Jiawang 选读paper: [1] Ranking by calibrated AdaBoost, R. Busa-Fekete, B ...
- 【每日一题】Squares UVA - 201 暴力+输出坑 + 读文件模板
题意 给你n*n的图,让你数正方形 题解:暴力for每个点,对于每个点从它出发顺时针走一个正方形.走完就ans[i]++; 坑:多输了一行******,然后在那里手摸样例,无限debug orz #d ...
- 在 ASP.NET Core 中发送邮件遇到的坑_学习笔记
功能需求 因为项目需要有个忘记密码验证邮箱再重新修改密码的功能,然后我选用了很简单的一个方案,通过验证登录用户的邮箱然后发送邮件,通过这个邮件发送的链接地址来最后实现密码修改的小功能. 项目环境及实现 ...
- 新开的坑-python学习笔记(1)——连接符与转义
1/print输出格式虽然知道怎么用却还要打破砂锅的问问题... 问题答案是 需要读很多基础文档教程 --------例如 "+" . "," 作为连接符的作 ...
- 五、mariadb遇到的坑——Linux学习笔记
C#连接MySQL异常:The host localhost does not support SSL connections. 解决方案: 连接字符串添加如下语句. SslMode = none; ...
- WEB 前端模块化,读文笔记
文章链接 WEB 前端模块化都有什么? 知识点 根据平台划分 浏览器 AMD.CMD 存在网络瓶颈,使用异步加载 非浏览器 CommonJS 直接操作 IO,同步加载 浏览器 AMD 依赖前置 req ...
- viewport移动端适配,读文笔记
文章地址: viewport移动端适配 笔记: 移动端适配目的: 希望在屏幕尺寸大小不同的手机上进行访问页面时,页面显示的效果能合理的展示,我们期望的是在手机屏幕较大时显示的内容比较大一些,手机屏幕小 ...
- JavaScript DOM 编程艺术(第二版) 初读学习笔记
这本书留给我的印象就是结构.表现和行为层的分离,以及书后面部分一直在强调的最佳实践原则:平稳退化,逐步增强,向后兼容以及性能考虑. 要注意这不是一本JavaScript入门书籍~ 2.1 准备工作 用 ...
- 解决问题:当redis服务端断开的时候`进程会崩溃(转载6哥笔记)
package main import ( "fmt" "github.com/astaxie/beego/logs" "github.com/gar ...
随机推荐
- spring scope prototype与singleton区别
1.singleton作用域 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配 ...
- 世界地图展开图,来自 Simon's World Map
Simon's World Map 软件下载地址:https://www.dit-dit-dit.com/Blog/PostId/42/simons-world-map
- 表达式树练习实践:C# 循环与循环控制
目录 表达式树练习实践:C# 循环 LabelTarget for / while 循环 无限循环 最简单的循环 多次循环 break 和 continue 一起 表达式树练习实践:C# 循环 C# ...
- caffe学习三:使用Faster RCNN训练自己的数据
本文假设你已经完成了安装,并可以运行demo.py 不会安装且用PASCAL VOC数据集的请看另来两篇博客. caffe学习一:ubuntu16.04下跑Faster R-CNN demo (基于c ...
- C#加载前生成静态网页
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- js vue 页面添加水印
vue 微信页面添加水印 this.$nextTick(function() { watermark({ watermark_txt ...
- 关于svn更新失败,clearup异常解决
直接上主题: 1. 下载sqlite3工具(https://files.cnblogs.com/files/eric-fang/sqlite-tools-win32-x86-3210000.zip), ...
- [Vue warn]: Duplicate keys detected: 'area'. This may cause an update error.
运行vue程序,浏览器报错: 原因:检测到重复的密钥:'area',因为在使用v-for循环绑定的时候,key的值是唯一的,不能相同,否则会出现意想不到的bug 解决办法:v-for时绑定的key唯一
- Dubbo学习系列之十三(Mycat数据库代理)
软件界有只猫,不用我说,各位看官肯定知道是哪只,那就是大名鼎鼎的Tomcat,现在又来了一只猫,据说是位东方萌妹子,暂且认作Tom猫的表妹,本来叫OpencloudDB,后又改名为Mycat,或许Ca ...
- Flask基础(15)-->模板代码的复用【宏(Macro)、继承(Block)、包含(include)】
宏 对宏(macro)的理解: 把它看作 Jinja2 中的一个函数,它会返回一个模板或者 HTML 字符串 为了避免反复地编写同样的模板代码,出现代码冗余,可以把他们写成函数以进行重用 需要在多处重 ...