《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 ...
随机推荐
- Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群
一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...
- Python3 爬虫之 Scrapy 核心功能实现(二)
博客地址:http://www.moonxy.com 基于 Python 3.6.2 的 Scrapy 爬虫框架使用,Scrapy 的搭建过程请参照本人的另一篇博客:Python3 爬虫之 Scrap ...
- caffe学习二:py-faster-rcnn配置运行faster_rcnn_end2end-VGG_CNN_M_1024 (Ubuntu16.04)
本文的主要目的是学习记录. 原文连接:https://blog.csdn.net/samylee/article/details/51099508 本博客中我将对py-faster-rcnn配置运行f ...
- Linux配置部署_新手向(四)——Redis安装与配置
前言 配置完mysql之后,我们来紧接着安装redis,毕竟这些不用太多的思考,就是命令执行,配置文件,连接测试. 安装 首先,我们要看安装哪个版本,可以在Redis官网看看我们安装哪个版本. 在之前 ...
- java教程系列二:Java JDK,JRE和JVM分别是什么?
多情只有春庭月,犹为离人照落花. 概述 本章主要了解JDK,JRE和JVM之间的区别.JVM是如何工作的?什么是类加载器,解释器和JIT编译器.还有一些面试问题. Java程序执行过程 在深入了解Ja ...
- SSM框架中测试单元的使用,spring整合Junit
测试类中的问题和解决思路 3.1.1 问题 在测试类中,每个测试方法都有以下两行代码: ApplicationContext ac = new ClassPathXmlApplicatio ...
- BUG 的生命周期
BUG 的生命周期 Bug-->软件程序的漏洞或缺陷 Bug 的类型:代码错误.设计缺陷.界面优化.性能问题.配置相关.安装部署.安全相关.标准规划.测试脚本....其他(功能类.界面类.性能类 ...
- jenkins自动化部署项目6 --STMP服务发送邮件配置
[系统管理]-[系统设置]里 1.系统管理员邮件地址:和后面SMTP配置认证的邮箱要一致,即发件箱 --------切记 2.配置SMTP认证的前提是需要在sohu搜狐邮箱开通SMTP/POP3, ...
- Python+OpenCV竖版古籍文字分割
在做图片文字分割的时候,常用的方法有两种.一种是投影法,适用于排版工整,字间距行间距比较宽裕的图像:还有一种是用OpenCV的轮廓检测,适用于文字不规则排列的图像. 1. 思路 一开始想偷个懒,直接用 ...
- 极光推送消息——RegistrationID方式
1.工具类 package com.test.util; import cn.jiguang.common.resp.APIConnectionException; import cn.jiguang ...