【BZOJ】3527: [Zjoi2014]力
题目链接: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]力的更多相关文章
- 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} ...
- BZOJ 3527: [ZJOI2014]力(FFT)
BZOJ 3527: [ZJOI2014]力(FFT) 题意: 给出\(n\)个数\(q_i\),给出\(Fj\)的定义如下: \[F_j=\sum \limits _ {i < j} \fra ...
- ●BZOJ 3527 [Zjoi2014]力
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3527 题解: FFT求卷积. $$\begin{aligned}E_i&=\frac ...
- bzoj 3527 [Zjoi2014]力——FFT
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3527 把 q[ i ] 除掉.设 g[ i ] = i^2 ,有一半的式子就变成卷积了:另一 ...
- bzoj 3527 [Zjoi2014] 力 —— FFT
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3527 看了看TJ才推出来式子,还是不够熟练啊: TJ:https://blog.csdn.n ...
- bzoj 3527: [Zjoi2014]力 快速傅里叶变换
题意: 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. fft的那一堆东西还是背不到啊...这次写虽说完全自己写的,但是还是在参见了以前fft程序的情况下调了很久,主要在如下几点 ...
- 数学(FFT):BZOJ 3527 [Zjoi2014]力
题目在这里:http://wenku.baidu.com/link?url=X4j8NM14MMYo8Q7uPE7-7GjO2_TXnMFA2azEbBh4pDf7HCENM3-hPEl4mzoe2w ...
- BZOJ 3527: [Zjoi2014]力(FFT)
我们看一下这个函数,很容易就把他化为 E=sigma(aj/(i-j)/(i-j))(i>j)-sigma(aj/(i-j)/(i-j))(j>i) 把它拆成两半,可以发现分子与分母下标相 ...
- 【刷题】BZOJ 3527 [Zjoi2014]力
Description 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. Input 第一行一个整数n. 接下来n行每行输入一个数,第i行表示qi. n≤100000,0<qi ...
- 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 ...
随机推荐
- (Linux)动态度的编写
动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一 ...
- linux下的route命令
语法: route [-CFvnee] route [add|del] [-net|-host] [网络或主机] netmask [gw|dev] route [-V] [--version] [ ...
- 利用apache伪静态技术防止盗链
(在我们制作网站的过程中,可能会遇到这样的问题,就是其他的网站直接盗用了我们网站的图片或css或js,这样可能会大大增加我们自己网站的负载. 所以,我们应该考虑一下怎样防止这样的事情发生.) 下面我们 ...
- mysql备份与恢复-xtracebackup
因为percona打算放弃使用innobackupex备份工具,因此我们这里也说明一下innobackupex的兄弟工具xtraceback工具的使用 这个工具的安装可以参考上面的一些博文,上面详细说 ...
- Spring Boot(十三):spring boot小技巧
Spring Boot(十三):spring boot小技巧 一.初始化数据 我们在做测试的时候经常需要初始化导入一些数据,如何来处理呢?会有两种选择,一种是使用Jpa,另外一种是Spring JDB ...
- es数据迁移脚本(python)
#!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:indiceCreate.py import sys import base64 import time ...
- shell脚本一键安装redis
支持识别离线包和联网安装,自动修改使用后台运行模式,离线安装的方法是,将离线包和脚本放在同一个文件夹, 它会先识别有没有离线包, 有离线包就先安装离线包, 没有离线包就安装进行判断机器是否能联网, 能 ...
- Android之socket客户端
接收数据不要用readline(),用read() Socket mSocket = new Socket("192.168.1.100", 8888); DataInputStr ...
- 头像上传uploadPreview插件
原文链接:https://blog.csdn.net/Alisa_L/article/details/52923953 uploadPreview 今天写头像上传,使用到uploadPreview插件 ...
- Jbarcode 条形码生成工具
一.准备jar包 https://sourceforge.net/projects/jbcode/?source=typ_redirect 二.编写工具类 package com.example.de ...