原题的式子把分母乘进去,然后式子中i-j随枚举变化也是定值,所以直接设b【i】=1/i^2

然后第一个式子就是:  ,可看为多项式乘法中的一项的系数

第二个式子差是定值,再设一个aa【i】=a【n-i】 然后第二个式子也变成了:

两个fft相减即可

注意complex定义没有等号,swap把小的放前面

码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<complex>
using namespace std;
#define pi acos(-1)
#define N 300005
typedef complex<double>E;
int l,n,r[N<<1],m;
E a[N],b[N],c[N],aa[N],d[N];
void fft(E *a,int f)
{int i,j,k;for(i=0;i<n;i++)if(i>r[i])swap(a[i],a[r[i]]);for(i=0;i<n;i++)cout<<a[i]<<endl;    for(i=1;i<n;i<<=1){E wn(cos(pi/i),f*sin(pi/i));for(j=0;j<n;j+=(i<<1)){E w(1,0);for(k=0;k<i;k++,w*=wn){E x=a[j+k],y=w*a[j+i+k];a[j+k]=x+y;a[j+k+i]=x-y;     }       }}if(f==-1)for(i=0;i<n;i++)a[i]/=n;
}
int main()
{int i,j,k;scanf("%d",&n);n--;for(i=0;i<=n;i++){scanf("%lf",&a[i]);aa[n-i]=a[i];}
for(i=1;i<=n;i++)b[i]=(1.0/i/i);    m=2*n;for(n=1;n<=m;n<<=1)++l;
for(i=0;i<n;i++)r[i]=((r[i>>1]>>1)|((1&i)<<(l-1)));fft(a,1);fft(b,1);for(i=0;i<n;i++)c[i]=a[i]*b[i];fft(c,-1);fft(aa,1);for(i=0;i<n;i++)d[i]=aa[i]*b[i]; fft(d,-1);for(i=0;i<=m/2;i++){printf("%.6lf\n",c[i].real()-d[m/2-i].real());}
}

2017.8.26 力 思考记录相关推荐

  1. 2017.6.26 旅行 思考记录

    这个题其实不算难,但复杂度一定要算清楚.. 如果没有宗教相同的限制,就是裸的树链剖分 但有了宗教相同的限制,我们可以想到对每个宗教开线段树. 直接建是肯定会炸的,所以需要动态开点.. 这样最复杂情况是 ...

  2. 2017.10.6 单词 思考记录

    少有的会做的ac自动机题 .这个题是匹配模式串. 所以就不需要匹配的过程,只需要建出fail树,然后直接拓扑 由于每次加进去一个单词,这个单词的每一个字母都有可能作为最后一个字母影响他的失配,所以词路 ...

  3. 2017.9.10 ricehub 思考记录

    .做这题的时候(不可避免的)瞟了一眼题解的标题  --二分 然后感觉好像已经白做了一道题(都告诉你了还做啥) 然而点看题,却发现   这--难道--不是--   **题? 从左往右扫,同时维护左指针, ...

  4. 2017.9.7 骑士 思考记录

    这个题其实一个月前就想写了.但当时看到环基树就吓跑了.. 但其实这个题除了环要找出来单独跑一边dp..别的就真的没了 先把环找出来(由于只有一个环,所以直接dfs) 然后对环上的每个点做一遍子树的dp ...

  5. 2017.9.5 组合数学 思考记录

    这题风格很正统.所以我感觉如果自己能不靠题解把这个题做出来,那应该就学得不错了.. 于是在历尽千辛万苦之后,终于1A了.(事后证明 结论题的结论强行无视 乱搞也是有可能AC的) xym&ISA ...

  6. 2017.9.4 Nim 思考记录

    只要知道nim的结论   这题就是链剖板子题.1A 注意bzoj 的  换行符是     \r!!      \r!!      \r!! 就说一下链剖的易错点吧: 1.记录父节点.sz.深度 2.当 ...

  7. 2017.8.21 弦论 思考记录

    自己a的第一道sam  虽然是板子题 要求第k小的串,分两种情况: 一种是包括重复的: 包括重复的即包括right的size,所以每个点向它的父节点贡献自己的size即可,因为这个父指针和ac自动机的 ...

  8. 2017.10.28 排序 思考记录

    这个题有一种套路,就是大小关系转化成01串,这样就变成了二分检验问题,, 就是把排序变成区间修改,然后单点查询.. 把所有比他小的赋成0,比他大的赋成1 然后判断要求位是0还是1来判断答案与当前值的大 ...

  9. 2017.10.28 压缩 思考记录

    这个题首先要知道M和R不是栈的搭配,是贪心的搭配,,就是向左找到第一个M.. 如 abababab cdcdcdcd abababab cdcdcdcd   = abRRcdcdcdcdR != Ma ...

最新文章

  1. 使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据
  2. 推荐搜索炼丹笔记:双塔模型在Airbnb搜索排名中的应用
  3. CFI Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系
  4. SPOJ HIGH Highways ——Matrix-Tree定理 高斯消元
  5. maven 报错一站式解决方案
  6. python2转python3代码_2to3 - 自动将 Python 2 代码转为 Python 3 代码
  7. Android 要收费、闭源恐难于上青天
  8. 前端学成什么样就能找工作了?
  9. PourOver – 快速筛选和排序大的数据集合
  10. php 表单提交渲染问题,如何解决php表单提交的数据丢失的问题
  11. nexus下载 通过官网下载
  12. python网络登录脚本_Python实现登录人人网并抓取新鲜事的方法
  13. 流行的框架Nohttp到来,让我们见证封装好的Nohttp详细使用步骤吧
  14. ANSYS-FLUENT计算常见问题汇总
  15. 概率机器人课后习题答案
  16. mina java c_Mina简介
  17. Fluent 18.0新功能之:其他
  18. 用宽屏玩魔兽争霸 分辨率设置方法
  19. 轻JS逆向分析“攒经验”项目之某交易所Sign加密参数逆向分析
  20. amos 结构方程模型无法运行出来

热门文章

  1. 平衡二叉树操作的演示
  2. Kotlin学习笔记26 协程part6 协程与线程的关系 Dispatchers.Unconfined 协程调试 协程上下文切换 Job详解 父子协程的关系
  3. vrm华为_华为-笔记本电脑如何安装FusionCompute虚拟化平台?
  4. 谈谈MacBook Air的电池问题
  5. mysql varchar最多可以存多少汉字_MySQL定义char和varchar类型utf8编码最大值
  6. RHEL7升级自带Git
  7. IDEA和VS code设置默认换行符为LF
  8. idea中tomcat服务器的配置
  9. java xml接口实例_Java访问WebService接口方法 , 返回xml数据,能根据 下面的能给我写个实例吗?略急...
  10. idea 无效的目标发行版_maven构建异常(无效的目标发行版: 1.8)