题目大意:

https://www.luogu.org/problemnew/show/P3338

题解

#include <bits/stdc++.h>
#define N 300005
#define PI acos(-1.0)
using namespace std; struct cpx {
double x,y;
cpx (double a=0.0,double b=0.0) { x=a; y=b; }
cpx operator - (const cpx &b)const { return cpx(x-b.x, y-b.y); }
cpx operator + (const cpx &b)const { return cpx(x+b.x, y+b.y); }
cpx operator * (const cpx &b)const { return cpx(x*b.x-y*b.y, x*b.y+y*b.x); }
}f1[N], f2[N], g[N];
int n, l, len, r[N]; void fft(cpx a[],double on)
{
for(int i=;i<len;i++)
if(i<r[i]) swap(a[i],a[r[i]]);
for(int i=;i<len;i<<=) {
cpx wn(cos(PI/i),on*sin(PI/i));
for(int j=;j<len;j+=(i<<)) {
cpx w(,);
for(int k=;k<i;k++,w=w*wn) {
cpx u=a[j+k], v=w*a[j+k+i];
a[j+k]=u+v, a[j+k+i]=u-v;
}
}
}
} void solve()
{
fft(f1,); fft(f2,); fft(g,);
for(int i=;i<=len;i++)
f1[i]=f1[i]*g[i], f2[i]=f2[i]*g[i];
fft(f1,-); fft(f2,-);
for(int i=;i<=len;i++)
f1[i].x=f1[i].x/len, f2[i].x=f2[i].x/len;
for(int i=;i<=n;i++)
printf("%.3f\n",-f2[n+-i].x+f1[i].x);
} int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++) {
scanf("%lf",&f1[i].x);
f2[n+-i].x=f1[i].x;
g[i].x=(double)(1.0/i/i);
} len=; l=;
while(len<(n<<)) len<<=, l++;
for(int i=;i<=len;i++)
r[i]=( r[i>>]>> )|( (i&)<<(l-) ); solve(); return ;
}

最新文章

  1. finish()在dialog中的作用
  2. C#线性表之顺序表
  3. Java Consumer and Producer demo
  4. myeclipse2014破解过程
  5. HTTP 笔记与总结(6)referer 头与防盗链
  6. How to Iterate Map
  7. 多浏览器兼容flv视频播放HTML
  8. 执行sql update use c#
  9. plupload使用指南(转)
  10. 使用Python实现Hadoop MapReduce程序
  11. CS0016: 未能写入输出文件*****目录名称无效
  12. 缓存HA的开源解决方案
  13. 历年NOIP中的搜索题
  14. 3、debian8安装和处理
  15. 容器平台自动化CI/CD流水线实践之一:环境概述
  16. 11_ for 练习 _ Math.sqrt
  17. js 两数组去除重复数值
  18. seo 优化排名 使用总结
  19. iOS 去除高德地图下方的 logo 图标
  20. Hbase 系统架构(zhuan)

热门文章

  1. 在小程序中引入有赞的vant框架组件
  2. tarjan强连通分量 (模板)
  3. NOIp2018集训test-9-19(am&amp;pm)
  4. 牛客多校第十场 F Popping Balloons 线段树维护稀疏矩阵
  5. nlp总结
  6. servlet的xml配置详解
  7. Spring Boot 整合 Shiro+Thymeleaf
  8. tushare使用教程:初始化调用PRO版数据示例
  9. [MtOI2019]幽灵乐团
  10. 如何使用Spring管理Filter和Servlet