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

题意

  $${F_i=\sum_{j<i} {\frac{q_iq_j}{(i-j)^2}}   -   \sum_{j>i} {\frac{q_iq_j}{(i-j)^2}}}$$

  给出${q_i}$求${E_i=F_i/q_i}$

Solution

  这能一眼秒是卷积w(゚Д゚)w,我怎么完全看不出来,这太强了吧。。

  两边同时约掉一个${q_i}$,式子就变的和谐了很多:$${E_i=\sum_{j<i} {\frac{q_j}{(i-j)^2}}   -   \sum_{j>i} {\frac{q_j}{(i-j)^2}}}$$

  然后到这里我就不知道了。。听说要构造两个多项式,然后${E_i}$就可以表示为他们乘积的某一项的系数。。$${A(x)=\sum_{i=0}^{n-1} q_{i+1}*x^i}$$$${B(x)=\sum_{i=0}^{n-2}{-\frac{x^i}{(n-i-1)^2}} + 0*x^{n-1} + \sum_{i=n}^{2n-2} {\frac{x^i}{(n-i+1)^2}}}$$

  最后只要输出第${n}$项到第${2n-1}$项的系数就是答案。

  一脸懵逼→_→

细节

  注意数组大小,注意下标与次数

代码

// bzoj3527
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<complex>
#include<cstdio>
#include<cmath>
#define LL long long
#define inf 2147483640
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std; typedef complex<double> E;
const int maxn=200010;
E a[maxn<<2],b[maxn<<2];
int n,m; namespace FFT {
int rev[maxn<<3],L;
void FFT(E *a,int f) {
for (int i=0;i<m;i++) if (i<rev[i]) swap(a[i],a[rev[i]]);
for (int i=1;i<m;i<<=1) {
E wn(cos(Pi/i),f*sin(Pi/i));
for (int p=i<<1,j=0;j<m;j+=p) {
E w(1,0);
for (int k=0;k<i;k++,w*=wn) {
E x=a[j+k],y=w*a[j+k+i];
a[j+k]=x+y;a[j+k+i]=x-y;
}
}
}
}
void Init() {
int k=n*3-3;
for (m=1;m<=k;m<<=1) L++;
for (int i=0;i<m;i++) rev[i]=(rev[i>>1]>>1) | ((i&1)<<(L-1));
FFT(a,1);FFT(b,1);
for (int i=0;i<m;i++) a[i]*=b[i];
FFT(a,-1);
}
} int main() {
scanf("%d",&n);
double x;
for (int i=1;i<=n;i++) scanf("%lf",&x),a[i-1]=x;
for (int i=0;i<=n-2;i++) b[i]=-1.0/(n-1-i)/(n-1-i);
for (int i=n;i<=2*n-2;i++) b[i]=1.0/(n-1-i)/(n-1-i);
FFT::Init();
for (int i=n-1;i<2*n-1;i++) printf("%.3lf\n",a[i].real()/m);
return 0;
}

【bzoj3527】 Zjoi2014—力的更多相关文章

  1. bzoj3527: [Zjoi2014]力 fft

    bzoj3527: [Zjoi2014]力 fft 链接 bzoj 思路 但是我们求得是 \(\sum\limits _{i<j} \frac{q_i}{(i-j)^2}-\sum_{i> ...

  2. [bzoj3527][Zjoi2014]力_FFT

    力 bzoj-3527 Zjoi-2014 题目大意:给定长度为$n$的$q$序列,定义$F_i=\sum\limits_{i<j}\frac{q_iq_j}{(i-j)^2}-\sum\lim ...

  3. bzoj3527: [Zjoi2014]力

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  4. BZOJ3527[Zjoi2014]力——FFT

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

  5. bzoj3527: [Zjoi2014]力 卷积+FFT

    先写个简要题解:本来去桂林前就想速成一下FFT的,结果一直没有速成成功,然后这几天断断续续看了下,感觉可以写一个简单一点的题了,于是就拿这个题来写,之前式子看着别人的题解都不太推的对,然后早上6点多推 ...

  6. 2019.02.28 bzoj3527: [Zjoi2014]力(fft)

    传送门 fftfftfft菜题. 题意简述:给一个数列aia_iai​,对于i=1→ni=1\rightarrow ni=1→n求出ansi=∑i<jai(i−j)2−∑i>jai(i−j ...

  7. BZOJ3527 [Zjoi2014]力 【fft】

    题目 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 输入格式 第一行一个整数n. 接下来n行每行输入一个数,第i行表示qi. 输出格式 n行,第i行输出Ei.与标准答案误差不超过 ...

  8. bzoj千题计划167:bzoj3527: [Zjoi2014]力

    http://www.lydsy.com/JudgeOnline/problem.php?id=3527 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei.      以n=4为例: ...

  9. [BZOJ3527][ZJOI2014]力 FFT+数学

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3527 首先卷积的形式是$h(i)=\sum_{i=0}^jf(i)g(i-j)$,如果我们 ...

  10. [BZOJ3527][ZJOI2014]力:FFT

    分析 整理得下式: \[E_i=\sum_{j<i}{\frac{q_i}{(i-j)^2}}-\sum_{j>i}{\frac{q_i}{(i-j)^2}}\] 假设\(n=5\),考虑 ...

随机推荐

  1. Java子类初始化调用父类无参构造

    实在是服了自己,子类初始化调用父类无参构造这种初学者都应该知道的事,我给忘了. 记得当初看书的时候各种概念抄在笔记本上,再上机实践,以为一辈子都不会忘,还是给忘了. 这件事说明了两个问题: 1.我没有 ...

  2. NO--19 微信小程序之scroll-view选项卡与跳转(二)

    本篇为大家介绍为何我们在最后做交互的时候,并没有使用上一篇讲的选项卡的效果.   scroll-view与跳转.gif (如无法查看图片,还请翻看上一篇!) 大家注意看,在我点击跳转后,首先能看到的是 ...

  3. Web服务架构

    # Web服务架构 ### Web服务模型-- 服务提供者.服务请求者.服务注册中心,服务注册中心是一个可选的角色. 现在的Web服务不仅限于WSDL,还有RESTful. - 服务提供者.即Web服 ...

  4. 可道云kodexplorer搭建私有云后的配置优化

    一.上传下载速度优化首先明确可道云没有对上传下载做任何限制,速度快慢和网络环境有关.可道云是基于http上传,所以和其他http上传速度基本一致:可以对比其他web系统或网站说附件上传速度.同其他例如 ...

  5. 从零系列--开发npm包(二)

    一.利用shell简化组合命令 set -e CVERSION=$(git tag | ) echo "current version:$CVERSION" echo " ...

  6. 使用Zabbix的SNMP trap监控类型监控设备的一个例子

    本文以监控绿盟设备为例. 1.登录被监控的设备的管理系统,配置snmptrap地址指向zabbix服务器或代理服务器. snmptrap地址也叫陷阱. 2.验证是否能在zabbix服务器或代理服务器上 ...

  7. 阿里云ubuntu16.04安装beef

    0x0 前言 环境:阿里云轻量服务器ubuntu16.04 需要安装2.4以上版本的ruby:https://www.cnblogs.com/Rain99-/p/10666247.html 参考资料 ...

  8. 记录一次redis故障

    ResponseError: MISCONF Redis is configured to save RDB snapshots, but is currently not able to persi ...

  9. Array.Copy 数据是克隆吗?

    偶然看到 Array.Copy 方法的时候,想到,它是否是克隆,又是否是深克隆. 做了一个测试 public class abc { public string hello; } [TestMetho ...

  10. Alpha阶段项目展示博客

    烫烫烫烫烫(hotcode5)团队 1. 团队成员的简介和个人博客地址 刘畅 博客园ID:森高Slontia 身份:PM 个人介绍: 弹丸粉 || 小说创作爱好者 || 撸猫狂魔(x || 生命的价值 ...