1、内容

由于noble_太懒 不想写了

非常好的博客:

https://www.cnblogs.com/rvalue/p/7351400.html

http://www.cnblogs.com/candy99/p/6641972.html

http://www.gatevin.moe/acm/fft%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/

http://hzwer.com/6896.html 黄学长模板

https://oi.men.ci/fft-notes/

https://blog.csdn.net/ggn_2015/article/details/68922404

http://www.cnblogs.com/zwfymqz/p/8244902.html

http://www.cnblogs.com/19992147orz/p/8041323.html

2、模板

洛谷A了,maxn要开大一点

 #include <bits/stdc++.h>
using namespace std;
typedef complex<double> com;
const int maxn=3e7;
const double PI=acos(-);
com a[maxn], b[maxn];
int rev[maxn]; void FFT(com* a,int n,int type){
for(int i=;i<n;i++){
if(rev[i]>i) swap(a[i],a[rev[i]]);
} for(int step=;step<n;step<<=){ //待合并区域中点
com wn(cos(PI/step),type*sin(PI/step));
for(int j=;j<n;j+=(step<<)){ //step<<1是区间右端点
com w(,); //幂
for(int k=j;k<j+step;k++,w*=wn){//枚举左半部分
com x=a[k], y=w*a[k+step];
a[k]=x+y; a[k+step]=x-y;
}
}
}
// if(type==-1) for(int i=0;i<n;i++) a[i]/=n;
}
int main()
{
int n1,n2,n,x,L=;
scanf("%d%d",&n1,&n2);
for(int i=;i<=n1;i++){
scanf("%d",&x); a[i]=x;
}
for(int i=;i<=n2;i++){
scanf("%d",&x); b[i]=x;
}
for(n=;n<=n1+n2;n*=) L++;
for(int i=;i<n;i++){
rev[i]=(rev[i>>]>>)|((i&)<<(L-));
}
FFT(a,n,); FFT(b,n,);
for(int i=;i<=n;i++) a[i]*=b[i];
FFT(a,n,-);
for(int i=;i<=n1+n2;i++){
printf("%d ",(int)(a[i].real()/n+0.5));
}
return ;
}

【学习笔记】FFT的更多相关文章

  1. [学习笔记]FFT——快速傅里叶变换

    大力推荐博客: 傅里叶变换(FFT)学习笔记 一.多项式乘法: 我们要明白的是: FFT利用分治,处理多项式乘法,达到O(nlogn)的复杂度.(虽然常数大) FFT=DFT+IDFT DFT: 本质 ...

  2. 学习笔记::fft

    上次学fft还是5月份,昨天发现已经忘记怎么推导了,代码也看不懂了,就又学习了一发,大概是看menci的博客 0.fft可以进行多项式乘法,朴素的乘法跟手算一样是O(n^2),fft可以通过分治做到n ...

  3. FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅲ

    第三波,走起~~ FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅰ FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅱ 单位根反演 今天打多校时 1002 被卡科技了 ...

  4. [学习笔记]NTT——快速数论变换

    先要学会FFT[学习笔记]FFT——快速傅里叶变换 一.简介 FFT会爆精度.而且浮点数相乘常数比取模还大. 然后NTT横空出世了 虽然单位根是个好东西.但是,我们还有更好的东西 我们先选择一个模数, ...

  5. [学习笔记] 多项式与快速傅里叶变换(FFT)基础

    引入 可能有不少OIer都知道FFT这个神奇的算法, 通过一系列玄学的变化就可以在 $O(nlog(n))$ 的总时间复杂度内计算出两个向量的卷积, 而代码量却非常小. 博主一年半前曾经因COGS的一 ...

  6. 【学习笔记】快速傅里叶变换(FFT)

    [学习笔记]快速傅里叶变换 学习之前先看懂这个 浅谈范德蒙德(Vandermonde)方阵的逆矩阵的求法以及快速傅里叶变换(FFT)中IDFT的原理--gzy hhh开个玩笑. 讲一下\(FFT\) ...

  7. 快速傅里叶变换(FFT)学习笔记

    定义 多项式 系数表示法 设\(A(x)\)表示一个\(n-1\)次多项式,则所有项的系数组成的\(n\)维向量\((a_0,a_1,a_2,\dots,a_{n-1})\)唯一确定了这个多项式. 即 ...

  8. FFT和NTT学习笔记_基础

    FFT和NTT学习笔记 算法导论 参考(贺) http://picks.logdown.com/posts/177631-fast-fourier-transform https://blog.csd ...

  9. 「学习笔记」FFT 之优化——NTT

    目录 「学习笔记」FFT 之优化--NTT 前言 引入 快速数论变换--NTT 一些引申问题及解决方法 三模数 NTT 拆系数 FFT (MTT) 「学习笔记」FFT 之优化--NTT 前言 \(NT ...

  10. 「学习笔记」FFT 快速傅里叶变换

    目录 「学习笔记」FFT 快速傅里叶变换 啥是 FFT 呀?它可以干什么? 必备芝士 点值表示 复数 傅立叶正变换 傅里叶逆变换 FFT 的代码实现 还会有的 NTT 和三模数 NTT... 「学习笔 ...

随机推荐

  1. Apache .htaccess文件

    今天在将ThinkPHP的URL模式由普通模式(URL_MODE=1)http://localhost/mythinkphp/index.php/Index/user/id/1.html改为重写模式 ...

  2. 《Tomcat内核设计剖析》勘误表

    <Tomcat内核设计剖析>勘误表 书中第95页图request部分印成了reqiest. 书中第311页两个tomcat3,其中一个应为tomcat4. 书中第5页URL应为URI. 书 ...

  3. RxJava 1.x 笔记:创建型操作符

    本篇文章是阅读 官方文档 的笔记. 作者:shixinzhang(百度搜索 "shixinzhang CSDN" 即可找到我) RxJava 也用了有段时间,那么多操作符总不想去记 ...

  4. java入门学习(3)—循环,选择,基础算法,API概念

    1.顺序结构:也就是顺着程序的前后关系,依次执行.2.选择分支:利用if..else , / switch(){case [ 这个必须是常量]:}; / if..else if….. ….else.. ...

  5. Scrapy爬虫库使用初体验

    安装pip install Scrapy 中间可能会遇到的问题: 超时,网络问题需要多次尝试 缺少vc++库,官网可以下载 win32api缺失,https://sourceforge.net/pro ...

  6. vscode+Firefox实现前端移动真机测试

    需要配件: 1.安装有火狐浏览器的移动端(手机); 2.安装有火狐浏览器和vscode的pc(电脑); 3.在vscode安装Live Server 插件 4.安装之后vscode右下角会有Go Li ...

  7. sublime忽略打开工程中某些文件夹,不在搜索之列

    { "folders": [ { "follow_symlinks": true, "path": ".", " ...

  8. 新Eclipse安装与配置 【来源网络根据实际情况自己补充】

    [第一次更新:20161108:http://blog.csdn.net/vvanity/article/details/51036678] Eclipse的官网地址:http://www.eclip ...

  9. 使用Session防止表单重复提交(不考虑多服务器)

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 原理:  1, ...

  10. copy, retain, assign , readonly , readwrite,strong,weak,nonatomic整理

    copy:建立一个索引计数为1的对象,然后释放旧对象 对NSString对NSString 它指出,在赋值时使用传入值的一份拷贝.拷贝工作由copy方法执行,此属性只对那些实行了NSCopying协议 ...