题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3527

把${f_i}$消去之后换元就是卷积的形式,直接算就可以了。


 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<cstdlib>
#include<cmath>
#include<complex>
#include<cstring>
using namespace std;
#define maxn 1001000
#define llg long long
#define Pi acos(-1.0)
#define yyj(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
typedef complex<double> XU; struct FFT
{
llg rev[maxn],L,n;
double c[maxn];
void fft(XU *z,llg f)
{
for (llg i=;i<n;i++) if (i<rev[i]) swap(z[i],z[rev[i]]);
for (llg i=;i<n;i*=)
{
XU wn(cos(Pi/i),sin(Pi/i));
for (llg p=i*,j=;j<n;j+=p)
{
XU w(,);
for (llg k=;k<i;k++,w*=wn)
{
XU x=z[j+k],y=z[j+k+i]*w;
z[j+k]=x+y,z[j+k+i]=x-y;
}
}
}
if (f==-) reverse(z+,z+n);
} XU a[maxn],b[maxn]; void work()
{
llg m=(n-)*;
for (n=;n<=m;n*=) L++;
for (llg i=;i<n;i++) rev[i]=(rev[i/]/)|((i&)<<(L-));
fft(a,),fft(b,);
for (llg i=;i<n;i++) a[i]*=b[i];
fft(a,-);
for (llg i=;i<n;i++) c[i]=(a[i].real()/n);
}
}F1,F2; double x[maxn]; int main()
{
yyj("li");
llg N;
cin>>N;
F1.n=N;
for (llg i=;i<N;i++) scanf("%lf",&x[i]),F1.a[i]=x[i];
for (llg i=;i<=N-;i++) F1.b[i]=(double)-1.0/(double)(N--i)/(double)(N--i);
for (llg i=N;i<=*N-;i++) F1.b[i]=(double)1.0/(double)(N--i)/(double)(N--i);
F1.work();
for (llg i=N-;i<*N-;i++) printf("%.9lf\n",F1.c[i]) ;
return ;
}

【BZOJ】3527: [Zjoi2014]力的更多相关文章

  1. BZOJ 3527: [Zjoi2014]力

    Description 求 \(E_i=\sum _{j=0}^{i-1} \frac {q_j} {(i-j)^2}-\sum _{j=i+1}^{n-1} \frac{q_j} {(i-j)^2} ...

  2. BZOJ 3527: [ZJOI2014]力(FFT)

    BZOJ 3527: [ZJOI2014]力(FFT) 题意: 给出\(n\)个数\(q_i\),给出\(Fj\)的定义如下: \[F_j=\sum \limits _ {i < j} \fra ...

  3. ●BZOJ 3527 [Zjoi2014]力

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3527 题解: FFT求卷积. $$\begin{aligned}E_i&=\frac ...

  4. bzoj 3527 [Zjoi2014]力——FFT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3527 把 q[ i ] 除掉.设 g[ i ] = i^2 ,有一半的式子就变成卷积了:另一 ...

  5. bzoj 3527 [Zjoi2014] 力 —— FFT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3527 看了看TJ才推出来式子,还是不够熟练啊: TJ:https://blog.csdn.n ...

  6. bzoj 3527: [Zjoi2014]力 快速傅里叶变换

    题意: 给出n个数qi,给出Fj的定义如下:  令Ei=Fi/qi,求Ei. fft的那一堆东西还是背不到啊...这次写虽说完全自己写的,但是还是在参见了以前fft程序的情况下调了很久,主要在如下几点 ...

  7. 数学(FFT):BZOJ 3527 [Zjoi2014]力

    题目在这里:http://wenku.baidu.com/link?url=X4j8NM14MMYo8Q7uPE7-7GjO2_TXnMFA2azEbBh4pDf7HCENM3-hPEl4mzoe2w ...

  8. BZOJ 3527: [Zjoi2014]力(FFT)

    我们看一下这个函数,很容易就把他化为 E=sigma(aj/(i-j)/(i-j))(i>j)-sigma(aj/(i-j)/(i-j))(j>i) 把它拆成两半,可以发现分子与分母下标相 ...

  9. 【刷题】BZOJ 3527 [Zjoi2014]力

    Description 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. Input 第一行一个整数n. 接下来n行每行输入一个数,第i行表示qi. n≤100000,0<qi ...

  10. bzoj 3527: [Zjoi2014]力 快速傅里叶变换 FFT

    题目大意: 给出n个数\(q_i\)定义 \[f_i = \sum_{i<j}{\frac{q_iq_j}{(i-j)^2}} - \sum_{i>j}\frac{q_iq_j}{(i-j ...

随机推荐

  1. 基于jquery、bootstrap的数据验证插件bootstrapValidator使用

    实时验证用户名是否存在,密码不能和用户名相同,两次密码需要相同,提交之后需要验证返回值: <form id="defaultForm" role="form&quo ...

  2. ASP.NET定时调用WebService 运行后台代码

    效果: 通过在网站的Global.asax的Application_Start方法中 加入定时器 定时调用WebService 该WebService的一个方法 负责在后台 向数据库的某个表加入数据 ...

  3. Spring MVC 编程流程步骤

    Spring MVC 编程流程步骤 1. 建立Maven工程 2. 添加Spring MVC依赖 <dependencies> <dependency> <groupId ...

  4. JDK源码之ThreadLocal

    1.定义 ThreadLocal是线程变量,就是说每一个线程都有对应的该变量副本,线程修改该变量时,线程与线程之间的变量是相互隔离的,互相并看不见.这个结构附带在线程上,一个线程可以根据ThreadL ...

  5. 判断PC或mobile设备

    js 限制: <script type="text/javascript"> function uaredirect(f){try{if(document.getEle ...

  6. Golang数组注意细节

    数组是多个相同类型数据的组合,一个数组一旦声明/定义了,其长度是固定的,不能动态变化. var arr[]int,这个arr就是slice切片. 数组中的元素可以是任何数据类型,包括值类型和引用类型, ...

  7. RequestBody使用

    @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的); GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是 ...

  8. Babel总结

    什么是babel? babel是一个JavaScript编译器. Babel是一个工具链,主要用于将ECMAScript 2015+代码转换为向后兼容的旧浏览器或环境中JavaScript版本. 注解 ...

  9. webpack --watch和supervisor的不同

     webpack --watch只是热打包,也就是前端代码的热加载,要实现后端代码的热加载,也就是热部署,需要使用supervisor 如何使用热部署可以参考这里:http://www.cnblogs ...

  10. 【python021-函数lambda表达式】

    一.匿名函数 1.lambda表达式 >>> g = lambda x:x*2+1>>> g(5)11>>> ---冒号前面的x是函数的参数,冒号 ...