BZOJ3527:[ZJOI2014]力——题解】的更多相关文章

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…
力 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…
http://www.lydsy.com/JudgeOnline/problem.php?id=3527 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 参考:https://www.cnblogs.com/iwtwiioi/p/4126284.html 暴力肯定会TLE,考虑转换成卷积形然后FFT优化. (因为不是markdown所以算式截图自参考博客,如有不妥删……) 首先算E可以把F里的所有qj全部拿下,设f[i]=q[i],g[i]=1/i/i(g[0]=0表示不存在…
先写个简要题解:本来去桂林前就想速成一下FFT的,结果一直没有速成成功,然后这几天断断续续看了下,感觉可以写一个简单一点的题了,于是就拿这个题来写,之前式子看着别人的题解都不太推的对,然后早上6点多推了一个多小时终于发现了一个很巧妙的方法,首先问题的关键在于后半个式子,因为显然前半个式子很容易想到卷积的形式,那么直接FFT就好了,但是后半部分不好考虑,一般肯定是通过类似换元的做法化到后来得出结论,到中间有一步就有点难度,那个地方我一直卡.后来突然想到,既然前半部分i<j时那么好处理,那么i>j…
题目 给出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…
题目地址 洛谷P3338 Solution 第一道FFT的应用AC祭! 我们要求: \[E_j=\frac{F_j}{q_j}=\sum_{i<j}\frac{q_i}{(i-j)^2}-\sum_{i>j}\frac{q_i}{(i-j)^2}\] (\(q_j\) 直接在除法的时候消掉了qwq) Step 0 卷积是什么? 首先我们要有明确的目标,我们要把上面的式子推成卷积的形式,我们就要来回顾一下卷积是什么.卷积的形式如下: \[C_k=\sum_{i=0}^{k}A_i*B_{k-i}…
#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…
题目描述 给出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…
传送门 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​​ 思路: 考虑分开求减号前后的两组和. 前面的直接是一个卷积的形式,后面的可以…
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…