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

给出n个数qi,给出Fj的定义如下:
令Ei=Fi/qi,求Ei.
 
 

 以n=4为例:

设数组a[],b[]

令c[]=a[]反转

y[]=c[]*b[]

那么E[i]=x[i]-y[n-i-1]

#include<cmath>
#include<cstdio>
#include<algorithm> using namespace std; #define N 100001
const int M=<<; const double pi=acos(-); struct Complex
{
double x,y;
Complex() { }
Complex(double _x,double _y) : x(_x),y(_y) { }
Complex operator + (Complex & P)
{
Complex C;
C.x=x+P.x;
C.y=y+P.y;
return C;
}
Complex operator - (Complex & P)
{
Complex C;
C.x=x-P.x;
C.y=y-P.y;
return C;
}
Complex operator * (Complex & P)
{
Complex C;
C.x=x*P.x-y*P.y;
C.y=x*P.y+y*P.x;
return C;
}
};
typedef Complex E; int n; int r[M]; E b[M];
E x[M],y[M]; 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 m,t;
scanf("%d",&n);
n--; m=t=n;
double p;
for(int i=;i<=n;++i)
{
scanf("%lf",&p);
x[i].x=p;
y[n-i].x=p;
}
for(int i=;i<=t;++i) b[i].x=1.0/i/i;
m+=n;
int bit=;
for(n=;n<=m;n<<=) bit++;
for(int i=;i<n;++i) r[i]=(r[i>>]>>)|((i&)<<bit-);
fft(b,);
fft(x,);
for(int i=;i<n;++i) x[i]=x[i]*b[i];
fft(x,-);
fft(y,);
for(int i=;i<n;++i) y[i]=y[i]*b[i];
fft(y,-);
for(int i=;i<=t;++i) printf("%.3lf\n",(x[i].x-y[t-i].x)/n);
}

bzoj千题计划167:bzoj3527: [Zjoi2014]力的更多相关文章

  1. bzoj千题计划300:bzoj4823: [Cqoi2017]老C的方块

    http://www.lydsy.com/JudgeOnline/problem.php?id=4823 讨厌的形状就是四联通图 且左右各连一个方块 那么破坏所有满足条件的四联通就好了 按上图方式染色 ...

  2. bzoj千题计划196:bzoj4826: [Hnoi2017]影魔

    http://www.lydsy.com/JudgeOnline/problem.php?id=4826 吐槽一下bzoj这道题的排版是真丑... 我还是粘洛谷的题面吧... 提供p1的攻击力:i,j ...

  3. bzoj千题计划280:bzoj4592: [Shoi2015]脑洞治疗仪

    http://www.lydsy.com/JudgeOnline/problem.php?id=4592 注意操作1 先挖再补,就是补的范围可以包含挖的范围 SHOI2015 的题 略水啊(逃) #i ...

  4. bzoj千题计划177:bzoj1858: [Scoi2010]序列操作

    http://www.lydsy.com/JudgeOnline/problem.php?id=1858 2018 自己写的第1题,一遍过 ^_^ 元旦快乐 #include<cstdio> ...

  5. bzoj千题计划317:bzoj4650: [Noi2016]优秀的拆分(后缀数组+差分)

    https://www.lydsy.com/JudgeOnline/problem.php?id=4650 如果能够预处理出 suf[i] 以i结尾的形式为AA的子串个数 pre[i] 以i开头的形式 ...

  6. bzoj千题计划304:bzoj3676: [Apio2014]回文串(回文自动机)

    https://www.lydsy.com/JudgeOnline/problem.php?id=3676 回文自动机模板题 4年前的APIO如今竟沦为模板,,,╮(╯▽╰)╭,唉 #include& ...

  7. bzoj千题计划292:bzoj2244: [SDOI2011]拦截导弹

    http://www.lydsy.com/JudgeOnline/problem.php?id=2244 每枚导弹成功拦截的概率 = 包含它的最长上升子序列个数/最长上升子序列总个数 pre_len ...

  8. bzoj千题计划278:bzoj4590: [Shoi2015]自动刷题机

    http://www.lydsy.com/JudgeOnline/problem.php?id=4590 二分 这么道水题 没long long WA了两发,没判-1WA了一发,二分写错WA了一发 最 ...

  9. bzoj千题计划250:bzoj3670: [Noi2014]动物园

    http://www.lydsy.com/JudgeOnline/problem.php?id=3670 法一:KMP+st表 抽离nxt数组,构成一棵树 若nxt[i]=j,则i作为j的子节点 那么 ...

随机推荐

  1. Math 类的使用(一小部分)

    package com.Date.Math; /* Math 数学类, 主要是提供了很多的数学公式. abs(double a) 获取绝对值 ceil(double a) 向上取整 floor(dou ...

  2. The last time the sprint(最后一个冲刺)

    经过一两个月的努力,我们终于是做出来了一点东西,从一开始接触这个项目开始,从完全不知道怎么去入手到跌跌碰碰,再到现在可以拿出来一点东西给别人看,我觉得很开心,或许我的这个成品在别人眼中并不算是什么,但 ...

  3. Software Defined Networking(Week 1)

    前言 课程名称:软件定义网络 课程地址 Coursera上新的一期还没开课,所以是YouTube. Instructor:Nick Feamster Get Started 对于本次课程,主要的新内容 ...

  4. SqlHelper类的编写

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  5. pxe前期接入H3C交换机网络准备

    环境:一个装机vlan3010,一个业务vlan,将接入交换机的下联,上联设置好vlan 如果服务器一直出于dhcp状态,有可能是交换机到服务器的光纤线路有问题,建议在交换机查看端口是否是down的. ...

  6. ISCC2018(web)

    ISCC2018 web writeup (部分) #web1:比较数字大小 只要比服务器上的数字大就好了 限制了输入长度,更改长度就好 #web2: 普通的代码审计,数组绕过 #web3:本地的诱惑 ...

  7. VMIC

    1. wmic 的简介 wmic -? [全局开关] <命令> 可以使用以下全局开关: /NAMESPACE 别名在其上操作的命名空间的路径. /ROLE 包含别名定义的角色的路径. /N ...

  8. HDU4240_Route Redundancy

    题目很简单.给一个有向图,求两点间的最大流量与任意一条路中的最大流量的比值. 最大流不说了,求出单条流量最大的路径可以用类似Spfa的方法来搞,保存到达当前点的最大流量,一直往下更新即可. 召唤代码君 ...

  9. SPOJ_NSUBSTR

    题目意思是给你一个字符串,f[x]是长度为x的子串中,出现个数最多的那个串的出现次数. 给出原串,依次输出f[1],f[2],……. 后缀自动机.对于某一个状态,right[]值的大小就是出现的次数, ...

  10. UVA12538 Version Controlled IDE

    题意翻译 维护一种数据结构,资磁三种操作. 1.在p位置插入一个字符串s 2.从p位置开始删除长度为c的字符串 3.输出第v个历史版本中从p位置开始的长度为c的字符串 1≤n≤50000,所有字符串总 ...