博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 4836: [Lydsy1704月赛]二元运算 分治FFT
阅读量:5122 次
发布时间:2019-06-13

本文共 1149 字,大约阅读时间需要 3 分钟。

Code: 

#include
#define ll long long#define maxn 500000 #define setIO(s) freopen(s".in","r",stdin) using namespace std;const double pi=acos(-1.0);struct cpx{ double x,y; cpx(double a=0,double b=0) {x=a,y=b; } cpx operator+(const cpx b) { return cpx(x+b.x,y+b.y); } cpx operator-(const cpx b) { return cpx(x-b.x,y-b.y); } cpx operator*(const cpx b) { return cpx(x*b.x-y*b.y,x*b.y+y*b.x); } }A[maxn],B[maxn]; void FFT(cpx *a,int n,int flag){ for(int i=0,k=0;i
k) swap(a[i],a[k]); for(int j=n>>1;(k^=j)
>=1); } for(int mid=1;mid
<<=1) { cpx wn(cos(pi/mid), flag*sin(pi/mid)),x,y; for(int i=0;i
<<1)) { cpx w(1,0); for(int j=0;j
>1,len,a=0,b=0; for(len=1;len<=(r-l+1);len<<=1); for(int i=0;i<=len;++i) A[i].x=B[i].x=A[i].y=B[i].y=0; for(int i=l;i<=mid;++i) A[a++].x=bucka[i]; for(int i=mid+1;i<=r;++i) B[b++].x=buckb[i]; FFT(A,len,1),FFT(B,len,1); for(int i=0;i

  

转载于:https://www.cnblogs.com/guangheli/p/11173722.html

你可能感兴趣的文章
前端监控
查看>>
clipboard.js使用方法
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
伪类与超链接
查看>>
centos 7 redis-4.0.11 主从
查看>>
永远的动漫,梦想在,就有远方
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
"远程桌面连接--“发生身份验证错误。要求的函数不受支持
查看>>
【BZOJ1565】 植物大战僵尸
查看>>
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>