http://www.lydsy.com/JudgeOnline/problem.php?id=2194

相乘两项的下标 的 差相同

那么把某一个反过来就是卷积形式

fft优化

#include<cmath>
#include<cstdio>
#include<iostream>
#include<algorithm> using namespace std; const int N=(<<)+; const double pi=acos(-); int r[N]; struct Complex
{
double a,b; Complex(double x_=,double y_=):a(x_),b(y_) {} Complex operator + (Complex p)
{
Complex c;
c.a=a+p.a;
c.b=b+p.b;
return c;
} Complex operator - (Complex p)
{
Complex c;
c.a=a-p.a;
c.b=b-p.b;
return c;
} Complex operator * (Complex p)
{
Complex c;
c.a=a*p.a-b*p.b;
c.b=a*p.b+b*p.a;
return c;
}
}; typedef Complex E;
E A[N],B[N],C[N]; int n; void read(int &x)
{
x=; char c=getchar();
while(!isdigit(c)) c=getchar();
while(isdigit(c)) { x=x*+c-''; c=getchar(); }
} void fft(E *a,int f)
{
for(int i=;i<n;++i)
if(i<r[i]) swap(a[i],a[r[i]]);
for(int i=;i<n;i<<=)
{
E wn(cos(pi/i),f*sin(pi/i));
for(int p=i<<,j=;j<n;j+=p)
{
E w(,);
for(int k=;k<i;++k,w=w*wn)
{
E x=a[j+k],y=w*a[j+k+i];
a[j+k]=x+y; a[j+k+i]=x-y;
}
}
}
} int main()
{
int cnt;
read(cnt);
int x,y;
for(int i=;i<cnt;++i)
{
read(x); read(y);
A[cnt--i].a=x;
B[i].a=y;
}
int m=cnt+cnt-,l=;
for(n=;n<=m;n<<=) l++;
for(int i=;i<n;++i) r[i]=(r[i>>]>>)|((i&)<<l-);
fft(A,);
fft(B,);
for(int i=;i<n;++i) C[i]=A[i]*B[i];
fft(C,-);
for(int i=cnt-;i>=;--i) printf("%d\n",int(C[i].a/n+0.5));
}

最新文章

  1. oracle xmltype导入并解析Excel数据 (二)规则说明
  2. SQLSERVER如何查看索引缺失
  3. wpf 属性变更通知接口 INotifyPropertyChanged
  4. 如何使Android应用开机时自动启动
  5. 设置oracle_home
  6. PHP 统计中文字符串的长度
  7. TDBXCommand TDBXReader
  8. jsViews validates(验证)
  9. [转] 博闻强识:了解CSS中的@ AT规则 ---张鑫旭
  10. Binary Tree Inorder Traversa
  11. Axis2 转让Webservice 介面
  12. SSM框架的搭建
  13. ppt的那些小事(一)
  14. 【欧拉函数】BZOJ2705: [SDOI2012]Longge的问题
  15. [Linux] - 利用ping给端口加密,限制访问
  16. js中时间戳转换成时间格式
  17. Git高级操作
  18. js 的正则表达式 部分展示test()方法的验证功能
  19. vim自定义配置之常规设置
  20. 史上最严管控,Android P非SDK接口管控特性解读及适配

热门文章

  1. python 微信撤回消息
  2. 如何使用URLOS进行docker应用开发
  3. 谷歌算法研究员:我为什么钟爱PyTorch?
  4. HyperLedger Fabric 学习思路分享
  5. 回忆--RYU流量监控
  6. #Leetcode# 725. Split Linked List in Parts
  7. Linux 下安装nginx的总结 (之前写的有问题))
  8. MacBook Pro 电池寿命
  9. Easy-UI开发总结
  10. python的logging日志模块