【题目分析】

咦,这不是卷积裸题。

敲敲敲,结果样例也没过。

看看看,卧槽i和k怎么反了。

艹艹艹,把B数组取个反。

靠靠靠,怎么全是零。

算算算,最终的取值范围算错了。

交交交,总算是A掉了。

【代码】

#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib> #include <map>
#include <set>
#include <queue>
#include <string>
#include <iostream>
#include <algorithm> using namespace std; #define maxn 500005
#define inf 0x3f3f3f3f
#define ll long long
#define cp Complex
#define F(i,j,k) for (int i=j;i<=k;++i)
#define D(i,j,k) for (int i=j;i>=k;--i) void Finout()
{
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
#endif
} int Getint()
{
int x=0,f=1; char ch=getchar();
while (ch<'0'||ch>'9') {if (ch=='-') f=-1; ch=getchar();}
while (ch>='0'&&ch<='9') {x=x*10+ch-'0'; ch=getchar();}
return x*f;
} struct Complex{
double x,y;
Complex operator + (Complex a) { return (Complex) {x+a.x,y+a.y}; }
Complex operator - (Complex a) { return (Complex) {x-a.x,y-a.y}; }
Complex operator * (Complex a) { return (Complex) {x*a.x-y*a.y,x*a.y+y*a.x}; }
}a[maxn],b[maxn],c[maxn]; int n,m,len,rev[maxn],sum;
const double pi=acos(-1.0); void FFT(Complex * x,int n,int f)
{
F(i,0,n-1) if (rev[i]>i) swap(x[rev[i]],x[i]); //构造迭代的形式
for (int m=2;m<=n;m<<=1)
{
Complex wn=(Complex){cos(2.0*pi/m*f),sin(2.0*pi/m*f)}; //当前的主单位根
for (int i=0;i<n;i+=m)
{
Complex w=(Complex){1.0,0};//单位根 W0
for (int j=0;j<(m>>1);++j)
{
Complex u=x[i+j],v=x[i+j+(m>>1)]*w;
x[i+j]=u+v; x[i+j+(m>>1)]=u-v;//蝴蝶变换,对称计算
w=w*wn;//下一个单位根
}
}
}
} int main()
{
Finout(); sum=n=Getint();
F(i,0,n-1) scanf("%lf%lf",&a[i].x,&b[n-i-1].x);
m=1; n=n*2-1;
while (m<=n) m<<=1,len++; n=m;
F(i,0,n-1)
{
int t=i,r=0;
F(j,1,len) r<<=1,r|=t&1,t>>=1;
rev[i]=r;
}
FFT(a,n,1); FFT(b,n,1);
F(i,0,n-1) c[i]=a[i]*b[i];
FFT(c,n,-1);
F(i,0,n-1) (c[i].x/=n)+=0.4;
F(i,sum-1,sum*2-2) printf("%lld\n",(ll)c[i].x);
}

  

BZOJ 2194 快速傅立叶之二 ——FFT的更多相关文章

  1. bzoj 2194: 快速傅立叶之二 -- FFT

    2194: 快速傅立叶之二 Time Limit: 10 Sec  Memory Limit: 259 MB Description 请计算C[k]=sigma(a[i]*b[i-k]) 其中 k & ...

  2. bzoj 2194 快速傅立叶之二 —— FFT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2194 如果把 a 序列翻转,则卷积得到的是 c[n-i],再把得到的 c 序列翻转即可. 代 ...

  3. BZOJ.2194.快速傅立叶之二(FFT 卷积)

    题目链接 \(Descripiton\) 给定\(A[\ ],B[\ ]\),求\[C[k]=\sum_{i=k}^{n-1}A[i]*B[i-k]\ (0\leq k<n)\] \(Solut ...

  4. [BZOJ]2194: 快速傅立叶之二

    题目大意:给定序列a,b,求序列c满足c[k]=sigma(a[i]*b[i-k]) (k<=i<n).(n<=10^5) 思路:观察发现就是普通的卷积反一反(翻转ab其中一个后做卷 ...

  5. 【刷题】BZOJ 2194 快速傅立叶之二

    Description 请计算C[k]=sigma(a[i]*b[i-k]) 其中 k < = i < n ,并且有 n < = 10 ^ 5. a,b中的元素均为小于等于100的非 ...

  6. bzoj 2194: 快速傅立叶之二【NTT】

    看别的blog好像我用了比较麻烦的方法-- (以下的n都--过 \[ c[i]=\sum_{j=i}^{n}a[i]*b[j-i] \] 设j=i+j \[ c[i]=\sum_{j=0}^{n-i} ...

  7. BZOJ 2194 快速傅立叶变换之二 | FFT

    BZOJ 2194 快速傅立叶变换之二 题意 给出两个长为\(n\)的数组\(a\)和\(b\),\(c_k = \sum_{i = k}^{n - 1} a[i] * b[i - k]\). 题解 ...

  8. 【BZOJ 2194】2194: 快速傅立叶之二(FFT)

    2194: 快速傅立叶之二 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1273  Solved: 745 Description 请计算C[k]= ...

  9. 【BZOJ】2194: 快速傅立叶之二

    http://www.lydsy.com/JudgeOnline/problem.php?id=2194 题意:求$c[k]=\sum_{k<=i<n} a[i]b[i-k], n< ...

随机推荐

  1. Android镜像文件ramdisk.img,system.img,userdata.img介绍

    Android 源码编译后,在out目录下生成的三个镜像文件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data. ramdis ...

  2. freebsd安装ports

    /etc/portsnap.conf 里面更改 SERVERNAME=portsnap.hshh.org portsnap的命令比较少 fetch 获取数据 extract 释放全部ports upd ...

  3. ThreadLocal遇到线程池时, 各线程间的数据会互相干扰, 串来串去

    最近遇到一个比较隐蔽而又简单地问题,在使用ThreadLocal时发现出现多个线程中值串来串去,排查一番,确定问题为线程池的问题,线程池中的线程是会重复利用的,而ThreadLocal是用线程来做Ke ...

  4. codevs 1131 统计单词数 2011年NOIP全国联赛普及组

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位 ...

  5. (三)mybatis之对Hibernate初了解

    前言:为什么会写Hibernate呢?因为HIbernate跟Mybatis一样,是以ORM模型为核心思想的,但是这两者有相似的地方也有差异的地方.通过这两种框架的比对,可以对mybatis有着更深的 ...

  6. 霍金的新语音系统 ACAT 将开源

    英国理论物理学家斯蒂芬·霍金(Stephen Hawking)使用了二十年的语音通讯系统被英特尔开发的新一代通讯平台替代,显著改进了通讯效率.但霍金的声音并没有发生改变,他仍然使用相同的语音合成器.霍 ...

  7. java面试基础篇(二)

    上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的. 1.Q:java的基本数据类型有哪些? A:四种整数类型(byte.short.int.long) ...

  8. activiti整合开发实例总结

    参考手册:http://www.mossle.com/docs/activiti/ 一.applicationContext.xml中引入activiti相关配置的xml文件 <!-- begi ...

  9. POI 读取 Excel 文件

    import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.Out ...

  10. iOS UI 设计

    优设 http://www.uisdc.com Sketch http://www.sketchcn.com