[ZJOI3527][Zjoi2014]力】的更多相关文章

[ZJOI3527][Zjoi2014]力 试题描述 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi.试求Ei. 输入 包含一个整数n,接下来n行每行输入一个数,第i行表示qi. 输出 有n行,第i行输出Ei.与标准答案误差不超过1e-2即可. 输入示例 4006373.885184 15375036.435759 1717456.469144 8514941.004912 1410681.345880 输出示例 -16838672.693 3439.793 7509018.566 4…
bzoj3527: [Zjoi2014]力 fft 链接 bzoj 思路 但是我们求得是 \(\sum\limits _{i<j} \frac{q_i}{(i-j)^2}-\sum_{i>j}\frac{q_i}{(i-j)^2}\) \(\sum\limits _{i<j} \frac{q_i}{(i-j)^2}\) \(\sum\limits _{i=1}^{j-1} q_i*\frac{1}{(j-i)^2}\) fft都能算出来 \(\sum\limits _{i=j+1}^{n…
P3338 [ZJOI2014]力 题目描述 给出n个数qi,给出Fj的定义如下: \(F_j = \sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{i>j}\frac{q_i q_j}{(i-j)^2 }\) 令\(E_i=\frac{F_i}{q_i}\),求\(E_i\). 输入输出格式 输入格式: 第一行一个整数\(n\). 接下来\(n\)行每行输入一个数,第\(i\)行表示\(q_i\). 输出格式: \(n\)行,第\(i\)行输出\(E_i\).…
3527: [Zjoi2014]力 Time Limit: 30 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 2003  Solved: 1196 Description 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. Input 第一行一个整数n. 接下来n行每行输入一个数,第i行表示qi. n≤100000,0<qi<1000000000 Output n行,第i行输出Ei.与标准答案误差不超过1e-2即可. S…
洛谷题目链接:P3338 [ZJOI2014]力 题目描述 给出n个数qi,给出Fj的定义如下: \[F_j = \sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{i>j}\frac{q_i q_j}{(i-j)^2 }\] 令Ei=Fi/qi,求Ei. 输入输出格式 输入格式: 第一行一个整数n. 接下来n行每行输入一个数,第i行表示qi. 输出格式: n行,第i行输出Ei. 与标准答案误差不超过1e-2即可. 输入输出样例 输入样例#1: 5 4006373…
题目 P3338 [ZJOI2014]力 做法 普通卷积形式为:\(c_k=\sum\limits_{i=1}^ka_ib_{k-i}\) 其实一般我们都是用\(i=0\)开始的,但这题比较特殊,忽略那部分,其他的直接按下标存下来,反正最后的答案是不变的 好了步入正题吧,我们定义 \[F_j=\sum\limits_{i<j}\dfrac{q_iq_j}{(i-j)^2}-\sum\limits_{i<j}\dfrac{q_iq_j}{(i-j)^2}\] 求\(E_i=\dfrac{F_i}…
题面 传送门: 洛咕 BZOJ Solution 写到脑壳疼,我好菜啊 我们来颓柿子吧 \(F_j=\sum_{i<j}\frac{q_i*q_j}{(i-j)^2}-\sum_{i>j}\frac{q_i*q_j}{(i-j)^2}\) \(q_j\)与\(i\)没有半毛钱关系,提到外面去 \(F_j=q_j*\sum_{i<j}\frac{q_i}{(i-j)^2}-q_j*\sum_{i>j}\frac{q_i}{(i-j)^2}\) 左右同时除以\(q_j\) \(E_j=…
[ZJOI2014]力 \[\begin{split} E_j=&\sum_{i=1}^{j-1}\frac{q_i}{(i-j)^2}-\sum_{i=j+1}^{n}\frac{q_i}{(i-j)^2}\\ =&\sum_{i=1}^{j}\frac{q_i}{(i-j)^2}-\sum_{i=j}^{n}\frac{q_i}{(i-j)^2}\\ \end{split}\\ \begin{cases} f_i=q_i\\ g_i=\frac 1{i^2}\\ \end{cases}…
[参考]「ZJOI2014」力 - FFT by menci [算法]FFT处理卷积 [题解]将式子代入后,化为Ej=Aj-Bj. Aj=Σqi*[1/(i-j)^2],i=1~j-1. 令f(i)=qi,g(i)=1/i^2,定义f(0)=g(0)=0(方便卷积). Aj=Σf(i)*g(j-i),i=0~j-1,标准的卷积形式. 而对于Bj,将g反转后就是和为i+n-1的标准卷积形式了. 第一次FFT后,记得对a数组后半部分清零后再进行第二次FFT. 复杂度O(n log n). #incl…
力 bzoj-3527 Zjoi-2014 题目大意:给定长度为$n$的$q$序列,定义$F_i=\sum\limits_{i<j}\frac{q_iq_j}{(i-j)^2}-\sum\limits_{i>j}\frac{q_iq_j}{(i-j)^2}$.求所有的$E_i=\frac{F_i}{q_i}$. 注释:$1\le n\le 10^5$,$0\le q\le 10^9$. 想法:我们可以把$F_i$中每一项上的$q_i$删掉因为我们求得$E_i$除掉了. 进而我们考虑如何求解$F…
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}\) Sol FFT. 我们可以发现他是一个卷积的形式,每次从\(i^2\) 卷到 \((n-i-1)^2\) . 既然是卷积,那么直接FFT就好了,但是FFT是让指数相等,也就是这里面的下标相等,所以必须要翻转这两个数组其中一个就可以了,随便翻就行. 然后从某一个下下标位置开始输出. Code /…
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; ; ); struct node{ double real,imag; ;} node operator +(const node &x){return (node){real+x.real,imag+x.im…
2016-06-01  21:36:44 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3527 我就是一个大傻叉 微笑脸 #include<bits/stdc++.h> #define inf 1000000000 #define ll long long #define N 500005 using namespace std; int read(){ ,f=;char ch=getchar(); ;ch=getchar();} +c…
http://www.lydsy.com/JudgeOnline/problem.php?id=3527 好好的一道模板题,我自己被自己坑了好久.. 首先题目看错.......什么玩意.......首先题目要求: $$F_j=\sum_{i<j} \frac{q_i q_j}{(i-j)^2}-\sum_{i>j} \frac{q_i q_j}{(i-j)^2}$$ 然后设 $$E_i=\frac{F_i}{q_i}$$ 然后我将$F_j$看成$F_i$....作死系列...... 然后fft…
题目大意:给出n个数qi,定义 Fj为        令 Ei=Fi/qi,求Ei. 看了很久题解,终于有些眉目,因为知道要用FFT,所以思路就很直了 其实我们就是要±1/(j-i)^2 ( j-i大于0时为正,小于0时为负 ) 和 qi 的乘积要算到j这个位置上,这个满足卷积,所以用FFT优化,但是j-i有负数,所以我们就加上一个n 于是设pi={ i>n,1/(i-n)^2 i<n,-1/(n-i)^2 其他,0 } 然后就套FFT模板就行了 const maxn=; type cp=re…
题意: 给出n个数qi,给出Fj的定义如下:  令Ei=Fi/qi,求Ei. fft的那一堆东西还是背不到啊...这次写虽说完全自己写的,但是还是在参见了以前fft程序的情况下调了很久,主要在如下几点写错:1.非递归中内层数组调用中下表忘掉加k 2.每次转换乘的那个数是cos(...)+isin(...),不要记混了,且里面是(a/b*2*PI) 3.pp[]没有每次清零这一些逗B错误. #include<iostream> #include<cstdio> #include<…
题目在这里:http://wenku.baidu.com/link?url=X4j8NM14MMYo8Q7uPE7-7GjO2_TXnMFA2azEbBh4pDf7HCENM3-hPEl4mzoe2wSoblrSOvMirfS7PsQ1OVjsdaCJhEaGNCpuUxFKoPvNvXa 裸的FFT,小心i*i爆int!!! #include <iostream> #include <cstring> #include <cstdio> #include <cm…
题目大意:给出n个数qi,定义 Fj为        令 Ei=Fi/qi,求Ei. 设A[i]=q[i],B[i]=1/(i^2). 设C[i]=sigma(A[j]*B[i-j]),D[i]=sigma(A[n-j-1]*B[i-j]). 那么所求的E[i]=C[i]-D[i]. 不难发现C[i]已经是标准的卷积形式了,用FFT即可. 对于D[i],令A'[i]=A[n-i-1],那么D[i]=sigma(A[j]*B[i-j]),于是也用FFT即可. code: #include<cstd…
我们看一下这个函数,很容易就把他化为 E=sigma(aj/(i-j)/(i-j))(i>j)-sigma(aj/(i-j)/(i-j))(j>i) 把它拆成两半,可以发现分子与分母下标相加总为i 也就是说,例如左边, 可以表示成g(x)= f(i)*F(x-i) (i<x) 也就是卷积了 可以轻易的构造出 f(i)= ai F(i)=1/i/i FFT就行了 右边的话,吧f(i)给倒过来就行了 (f(i)=an-i) 最后的答案 ansi=g(i)-G(n-i-1) ok了 最近发现自…
BZOJ 3527: [ZJOI2014]力(FFT) 题意: 给出\(n\)个数\(q_i\),给出\(Fj\)的定义如下: \[F_j=\sum \limits _ {i < j} \frac{q_iq_j}{(i-j)^2}-\sum \limits _{i >j} \frac{q_iq_j}{(i-j)^2}.\] 令\(E_i=F_i/q_i\),求\(E_i\). 题解: 一开始没发现求\(E_i\)... 其实题目还更容易想了... \[E_i=\sum\limits _{j&l…
推公式发现(这不是水题吗,这要推吗) \[E_i=\Sigma^{i-1}_{j=1} \frac{q_j}{(i-j)^2} - \Sigma^{n}_{j=i+1} \frac{q_j}{(i-j)^2}\] \[设A[i] = q[i], B[i] = \frac{1}{i^2},FFT将A,B相乘可以得到E_i的前半部分\] \[后半部分就把数组反过来FFT就可以了\] 也可以合起来FFT(懒得想) # include <bits/stdc++.h> # define RG regis…
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3527 题解: FFT求卷积. $$\begin{aligned}E_i&=\frac{F_i}{q_i}\\&=\sum_{k<i}\frac{q_k}{(i-k)^2}-\sum_{k>i}\frac{q_k}{(i-k)^2}\\&=\sum_{k=1}^{n}{q_kP(i-k)}\end{aligned}$$ 其中, $$P(x)=\begin{cases…
题目描述 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 输入 第一行一个整数n. 接下来n行每行输入一个数,第i行表示qi. n≤100000,0<qi<1000000000 输出 n行,第i行输出Ei.与标准答案误差不超过1e-2即可. 样例输入 5 4006373.885184 15375036.435759 1717456.469144 8514941.004912 1410681.345880 样例输出 -16838672.693 3439.793 7509018…
先写个简要题解:本来去桂林前就想速成一下FFT的,结果一直没有速成成功,然后这几天断断续续看了下,感觉可以写一个简单一点的题了,于是就拿这个题来写,之前式子看着别人的题解都不太推的对,然后早上6点多推了一个多小时终于发现了一个很巧妙的方法,首先问题的关键在于后半个式子,因为显然前半个式子很容易想到卷积的形式,那么直接FFT就好了,但是后半部分不好考虑,一般肯定是通过类似换元的做法化到后来得出结论,到中间有一步就有点难度,那个地方我一直卡.后来突然想到,既然前半部分i<j时那么好处理,那么i>j…
原文链接http://www.cnblogs.com/zhouzhendong/p/8762639.html 题目传送门 - BZOJ3527 题意 给出长度为$m$的序列$q_{1..m}$,让你输出长度为$m$的序列$E_{1..m}$. 其中: $$E_i=\sum_{j=1}^{i-1}\frac{q_j}{(i-j)^2}-\sum_{j=i+1}^{m}\frac{q_j}{(i-j)^2}$$ 题解 我们设 $$f_i=q_i,g_i=\frac 1{i^2}(g_0=0,且对于i…
传送门 首先化简原式\[F_j=\sum_{i<j}\frac{q_iq_j}{(i-j)^2}-\sum_{i>j}\frac{q_iq_j}{(i-j)^2},E_j=F_j/q_j\] 把所有\(q_j\)提出来,则显然\[E_j=\sum_{i<j}\frac{q_i}{(i-j)^2}-\sum_{i>j}\frac{q_i}{(i-j)^2}\]\[E_j=...-\frac{q_{j-2}}{2^2}-\frac{q_{j-1}}{1^2}+0+\frac{q_{j+…
传送门 fftfftfft菜题. 题意简述:给一个数列aia_iai​,对于i=1→ni=1\rightarrow ni=1→n求出ansi=∑i<jai(i−j)2−∑i>jai(i−j)2ans_i=\sum_{i<j}\frac{a_i}{(i-j)^2}-\sum_{i>j}\frac{a_i}{(i-j)^2}ansi​=∑i<j​(i−j)2ai​​−∑i>j​(i−j)2ai​​ 思路: 考虑分开求减号前后的两组和. 前面的直接是一个卷积的形式,后面的可以…
题目 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 输入格式 第一行一个整数n. 接下来n行每行输入一个数,第i行表示qi. 输出格式 n行,第i行输出Ei.与标准答案误差不超过1e-2即可. 输入样例 5 4006373.885184 15375036.435759 1717456.469144 8514941.004912 1410681.345880 输出样例 -16838672.693 3439.793 7509018.566 4595686.886 1090304…
思路 颓柿子的题目 要求求这样的一个式子 \[ F_j=\sum_{i<j}\frac{q_iq_j}{(i-j)^2}-\sum_{i>j}\frac{q_iq_j}{(i-j)^2} \] 令\(E_i=\frac{F_i}{q_i}\),求所有的\(E_i\) 对于Ei,显然可以 \[ E_i=\sum_{j=0}^{i-1}\frac{q_j}{(i-j)^2}-\sum_{j=i+1}^n\frac{q_j}{(i-j)^2} \] 前后没什么关联,可以分开考虑,首先考虑前面部分 \…
题目链接: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>…