2017.8.26 力 思考记录
原题的式子把分母乘进去,然后式子中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 力 思考记录相关推荐
- 2017.6.26 旅行 思考记录
这个题其实不算难,但复杂度一定要算清楚.. 如果没有宗教相同的限制,就是裸的树链剖分 但有了宗教相同的限制,我们可以想到对每个宗教开线段树. 直接建是肯定会炸的,所以需要动态开点.. 这样最复杂情况是 ...
- 2017.10.6 单词 思考记录
少有的会做的ac自动机题 .这个题是匹配模式串. 所以就不需要匹配的过程,只需要建出fail树,然后直接拓扑 由于每次加进去一个单词,这个单词的每一个字母都有可能作为最后一个字母影响他的失配,所以词路 ...
- 2017.9.10 ricehub 思考记录
.做这题的时候(不可避免的)瞟了一眼题解的标题 --二分 然后感觉好像已经白做了一道题(都告诉你了还做啥) 然而点看题,却发现 这--难道--不是-- **题? 从左往右扫,同时维护左指针, ...
- 2017.9.7 骑士 思考记录
这个题其实一个月前就想写了.但当时看到环基树就吓跑了.. 但其实这个题除了环要找出来单独跑一边dp..别的就真的没了 先把环找出来(由于只有一个环,所以直接dfs) 然后对环上的每个点做一遍子树的dp ...
- 2017.9.5 组合数学 思考记录
这题风格很正统.所以我感觉如果自己能不靠题解把这个题做出来,那应该就学得不错了.. 于是在历尽千辛万苦之后,终于1A了.(事后证明 结论题的结论强行无视 乱搞也是有可能AC的) xym&ISA ...
- 2017.9.4 Nim 思考记录
只要知道nim的结论 这题就是链剖板子题.1A 注意bzoj 的 换行符是 \r!! \r!! \r!! 就说一下链剖的易错点吧: 1.记录父节点.sz.深度 2.当 ...
- 2017.8.21 弦论 思考记录
自己a的第一道sam 虽然是板子题 要求第k小的串,分两种情况: 一种是包括重复的: 包括重复的即包括right的size,所以每个点向它的父节点贡献自己的size即可,因为这个父指针和ac自动机的 ...
- 2017.10.28 排序 思考记录
这个题有一种套路,就是大小关系转化成01串,这样就变成了二分检验问题,, 就是把排序变成区间修改,然后单点查询.. 把所有比他小的赋成0,比他大的赋成1 然后判断要求位是0还是1来判断答案与当前值的大 ...
- 2017.10.28 压缩 思考记录
这个题首先要知道M和R不是栈的搭配,是贪心的搭配,,就是向左找到第一个M.. 如 abababab cdcdcdcd abababab cdcdcdcd = abRRcdcdcdcdR != Ma ...
最新文章
- 使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据
- 推荐搜索炼丹笔记:双塔模型在Airbnb搜索排名中的应用
- CFI Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系
- SPOJ HIGH Highways ——Matrix-Tree定理 高斯消元
- maven 报错一站式解决方案
- python2转python3代码_2to3 - 自动将 Python 2 代码转为 Python 3 代码
- Android 要收费、闭源恐难于上青天
- 前端学成什么样就能找工作了?
- PourOver – 快速筛选和排序大的数据集合
- php 表单提交渲染问题,如何解决php表单提交的数据丢失的问题
- nexus下载 通过官网下载
- python网络登录脚本_Python实现登录人人网并抓取新鲜事的方法
- 流行的框架Nohttp到来,让我们见证封装好的Nohttp详细使用步骤吧
- ANSYS-FLUENT计算常见问题汇总
- 概率机器人课后习题答案
- mina java c_Mina简介
- Fluent 18.0新功能之:其他
- 用宽屏玩魔兽争霸 分辨率设置方法
- 轻JS逆向分析“攒经验”项目之某交易所Sign加密参数逆向分析
- amos 结构方程模型无法运行出来
热门文章
- 平衡二叉树操作的演示
- Kotlin学习笔记26 协程part6 协程与线程的关系 Dispatchers.Unconfined 协程调试 协程上下文切换 Job详解 父子协程的关系
- vrm华为_华为-笔记本电脑如何安装FusionCompute虚拟化平台?
- 谈谈MacBook Air的电池问题
- mysql varchar最多可以存多少汉字_MySQL定义char和varchar类型utf8编码最大值
- RHEL7升级自带Git
- IDEA和VS code设置默认换行符为LF
- idea中tomcat服务器的配置
- java xml接口实例_Java访问WebService接口方法 , 返回xml数据,能根据 下面的能给我写个实例吗?略急...
- idea 无效的目标发行版_maven构建异常(无效的目标发行版: 1.8)