A(x)=A4[0](x*x)+x*A4[1](x*x);
x=1,w,w*w,w*w*w
wi means w^i
n=4;w=w[4]
result shuould be
y[0]=A4[0](1*1)+1*A4[1](1*1);
y[1]=A4[0](w*w)+w*A4[1](w*w);
y[2]=A4[0](w2*w2)+w2*A4[1](w2*w2);
y[3]=A4[0](w3*w3)+w3*A4[1](w3*w3);
1*1=w2*w2=(-1*-1) w2=w0*-1=-1;
w*w=w[2];w3*w3=w(6%4)=w*w=w[2]
w2=-1
w3=-w w3=w(1+4/2);
pro perform
=============
w[n] means e^(2πi/n)
w[4]*w[4]=w[2]
n=2, w=w[2]
A4[0](1),A4[0](w[2])
A[0]=A2[0]+A2[1]
A[1]=A2[0]-A2[1]
----
A4[1](1),A4[1](w[2])
A[2]=A2[2]+A2[3]//0,1
A[3]=A2[2]-A2[3]
==============
n=4;w=w[4]
//两边各取一半就能取到x^2,右边乘上本轮应该有的wk,这样就合理了
y[0]=A4[0](1)+1*A4[1](1)
y[2]=A4[0](1)-1*A4[1](1)
y[1]=A4[0](w[2])+w*A4[1](w[2])
y[3]=A4[0](w[2])-wA4[1](w[2])
===============
0,1,2,3
0,2,1,3
y[0]=a[0]+w[2]0*a[2];
y[1]=a[0]+w[2]1*a[2];
y[2]=a[1]+w[2]0*a[3];
y[3]=a[1]+w[2]1*a[3];
===============
y[0]=a[0]+w[2]0*a[2]+w[4]0*a[1]+w[4]0*w[2]0*a[3];
y[2]=a[0]+w[2]0*a[2]+w[4]2*a[1]+w[4]2*w[2]0*a[3];
w[4]2=-w[4]0
y[1]=a[0]+w[2]1*a[2]+w[4]1*a[1]+w[4]1*w[2]1*a[3];
y[3]=a[0]+w[2]1*a[2]+w[4]3*a[1]+w[4]3*w[2]1*a[3];
w[4]3=-w[4]1
===============
y[2]=a[0]+(w[4]2*w[4]2=w[4]4=1=w[2]0)a[2]+(w[4]2=-w[4]0=-1)....
y[3]=a[0]+(w[2]1=w[4]6=w[4]2=w[2]1)a[2]+(w[4]3=-w[4]1,)....(w[4]3*w[2]1=w[4]5=w[4](5+4)=w[4]9)*a[3];
===============
所以分析一下n=8的情况
首先分成n1=4,n2=4
此时分别递归出两层,
在回溯的时候,y0,y1,y2,y3的意义就是n=4时取的四个特征值的y
n1=4有可以分成n3=2,n4=2两层
每一段的,y0,y1的意义就是n=2时取的两个特征值的y
那么n=2时有四段这样的
其中每两段,左边一段就代表了A4[0],右边一段就代表了A4[1],这样就能合成A8[0],右边的A8[1]同理
那么其实,根据公式yk+4/2也就递推出来了(n=4时),所以连续处理的一段的左一半因为在之前的处理中
就是按照wn升幂的,所以现在直接拿出来,那么他的值就是A8[0](w^0*2),A8[0](w^1*2),A8[0](w^2*2),A8[0](w^3*2)
右边和左边当然是对称的,然后连续一整段的
什么事连续一整段呢,我解释下
像(0,1)(2,3)(4,5)(6,7)
这四段是不连续的,他们的意义都一样,w^0,w^1的取值
而(0,1,2,3,4,5,6,7),
取出的四段则是连续的,(0,4)(1,5)(2,6)(3,7)
所以每一段的旋转系数W,都要按照Wn,每次幂次加一,这样才能对的上yk=A0[(x^k)^2]+x^k*A1[(x^k)^2]
中右边的系数,n=8,最后一次回溯计算则有连续4对,k=0,1,2,3

还有一个需要注意的地方是
W8=e^(2pi*i)/8

W2=e^(2pi*i)/2 =W8*W8*W8*W8
除的数越小,则Wn的次数越高,而不是越低

acm 快速傅里叶变换的理解的更多相关文章

  1. 多项式 之 快速傅里叶变换(FFT)/数论变换(NTT)/常用套路【入门】

    原文链接https://www.cnblogs.com/zhouzhendong/p/Fast-Fourier-Transform.html 多项式 之 快速傅里叶变换(FFT)/数论变换(NTT)/ ...

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

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

  3. 「快速傅里叶变换(FFT)」学习笔记

    FFT即快速傅里叶变换,离散傅里叶变换及其逆变换的快速算法.在OI中用来优化多项式乘法. 本文主要目的是便于自己整理.复习 FFT的算法思路 已知两个多项式的系数表达式,要求其卷积的系数表达式. 先将 ...

  4. 快速傅里叶变换(FFT)详解

    本文只讨论FFT在信息学奥赛中的应用 文中内容均为个人理解,如有错误请指出,不胜感激 前言 先解释几个比较容易混淆的缩写吧 DFT:离散傅里叶变换—>$O(n^2)$计算多项式乘法 FFT:快速 ...

  5. 快速傅里叶变换(FFT)

    扯 去北京学习的时候才系统的学习了一下卷积,当时整理了这个笔记的大部分.后来就一直放着忘了写完.直到今天都腊月二十八了,才想起来还有个FFT的笔记没整完呢.整理完这个我就假装今年的任务全都over了吧 ...

  6. 快速傅里叶变换(FFT)_转载

    FFTFFT·Fast  Fourier  TransformationFast  Fourier  Transformation快速傅立叶变换 P3803 [模板]多项式乘法(FFT) 参考上文 首 ...

  7. HDU 1402 A * B Problem Plus 快速傅里叶变换 FFT 多项式

    http://acm.hdu.edu.cn/showproblem.php?pid=1402 快速傅里叶变换优化的高精度乘法. https://blog.csdn.net/ggn_2015/artic ...

  8. 51Nod 快速傅里叶变换题集选刷

    打开51Nod全部问题页面,在右边题目分类中找到快速傅里叶变换,然后按分值排序,就是本文的题目顺序. 1.大数乘法问题 这个……板子就算了吧. 2.美妙的序列问题 长度为n的排列,且满足从中间任意位置 ...

  9. $FFT$(快速傅里叶变换)

    - 概念引入 - 点值表示 对于一个$n - 1$次多项式$A(x)$,可以通过确定$n$个点与值(即$x$和$y$)来表示这唯一的$A(x)$ - 复数 对于一元二次方程 $$x^2 + 1 = 0 ...

随机推荐

  1. 2.4V升5V芯片,8uA功耗,低功耗升压电路图

    2.4V升5V,可用于USB拔插充电,也可以用于把两节镍氢电池2.4V升压到5V,的固定输出稳压电压值,同时输出电流可达1A,0.5A等 首先是先说下0.5A的这款的话,是比较低功耗的,8uA左右的输 ...

  2. perl打开本地/服务器图片

    index.html <html> <body> <h2> perl read img </h2> <img src = "displa ...

  3. Java集合List-差集、并集、交集

    Java集合List的差集.并集.交集 转载于:https://www.cnblogs.com/qlqwjy/p/9812919.html 一.List的差集 @Test public void te ...

  4. Visual Studio中自定义代码段!

    Visual Studio中自定义代码段! 第一步:在编辑器中进行快捷键的输入[ctrl + shift + p] 或者 点击 查看 第一个选项就是!请看下图 第二步:选择你要配置代码段的语言, 这里 ...

  5. jQuery 当前展开其他收缩 三级下拉菜单(转载)

    jQuery可展开收缩三级下拉菜单 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  6. MySQL中 utf8与utf8mb4的区别

    MySQL中 utf8与utf8mb4的区别 一.简介 ​ MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在 ...

  7. 406 UDP协议是面向非连接的协议 Keep-Alive

    HTTP The Definitive Guide   Table 3-1. Common HTTP methods   Method Description Message body?   GET ...

  8. 一个支付宝小程序在一段时间内只能保留一个 WebSocket 连接

    一个支付宝小程序在一段时间内只能保留一个 WebSocket 连接 my.connectSocket - 支付宝开放平台 https://opendocs.alipay.com/mini/api/vx ...

  9. token的分层图如下

    基于 token 的多平台身份认证架构设

  10. loj10153二叉苹果树

    有一棵二叉苹果树,如果数字有分叉,一定是分两叉,即没有只有一个儿子的节点.这棵树共 N 个节点,标号 1 至 N,树根编号一定为 1. 我们用一根树枝两端连接的节点编号描述一根树枝的位置.一棵有四根树 ...