#34. 多项式乘法

统计

这是一道模板题。

给你两个多项式,请输出乘起来后的多项式。

输入格式

第一行两个整数 nn 和 mm,分别表示两个多项式的次数。

第二行 n+1n+1 个整数,分别表示第一个多项式的 00 到 nn 次项前的系数。

第三行 m+1m+1 个整数,分别表示第一个多项式的 00 到 mm 次项前的系数。

输出格式

一行 n+m+1n+m+1 个整数,分别表示乘起来后的多项式的 00 到 n+mn+m 次项前的系数。

样例一

input

1 2
1 2
1 2 1

output

1 4 5 2

explanation

(1+2x)⋅(1+2x+x2)=1+4x+5x2+2x3(1+2x)⋅(1+2x+x2)=1+4x+5x2+2x3。

限制与约定

0≤n,m≤1050≤n,m≤105,保证输入中的系数大于等于 00 且小于等于 99。

时间限制:1s1s

空间限制:256MB256MB

下载

样例数据下载

 
#include<cmath>
#include<cstdio>
#include<complex>
using namespace std;
typedef complex<double> E;
const double Pi=acos(-);
const int N=3e5+;
int n,m,L,R[N];
E a[N],b[N];
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*=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(){
scanf("%d%d",&n,&m);
for(int i=,x;i<=n;i++) scanf("%d",&x),a[i]=x;
for(int i=,x;i<=m;i++) scanf("%d",&x),b[i]=x;
for(m+=n,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++) a[i]*=b[i];
FFT(a,-);
for(int i=;i<=m;i++) printf("%d ",(int)(a[i].real()/n+0.5));
return ;
}
/*
比着敲完就算了,FFT理解,来日方长。
zky神犇写的非常详细
http://blog.csdn.net/iamzky/article/details/22712347
*/

最新文章

  1. Servlet读取资源文件(文件的下载)
  2. OO与设计模式的原则、目标
  3. c# 之抽象工厂模式
  4. linux 命令行字符终端terminal下强制清空回收站
  5. 李洪强漫谈iOS开发[C语言-013]-常量
  6. c语言学习之基础知识点介绍(十七):写入读取结构体、数组、结构体数组
  7. maven install 报错Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin
  8. KMP算法的一个C++实现
  9. Hbase单机安装部署
  10. thinkphp5引入公共部分header、footer等
  11. css标准文档流
  12. Vue插件写、用详解(附demo)
  13. CentOS7.3编译hadoop2.7.3源码
  14. python AjaxSpider 代码演示
  15. HDU 6395 Sequence 杜教板子题
  16. 使用MDS Switch基本命令的一个例子
  17. Names and Identifiers
  18. c# 匿名函数与托付
  19. UESTC 2015dp专题 N 导弹拦截 dp
  20. GSM模块_STM32实现GPRS与服务器数据传输经验总结

热门文章

  1. Windows同步阿里云时间
  2. EasyUI 打印当前页
  3. BZOJ 3779 重组病毒 ——LCT 线段树
  4. Redis的持久化——AOF
  5. R语言入门--画图(一)--ggplot2
  6. MongoDB GridFS(命令行+php操作)
  7. .net core 使用 codegenerator 创建默认CRUD代码
  8. 2716 [Violet 3] 天使玩偶
  9. 国内可用的SVN和Git代码托管网站汇总
  10. 大众车机天宝187A Hack笔记