[ZJOI2014]力
题目描述
给出n个数qi,给出Fj的定义如下:
$Fj = \sum{i
令$Ei=Fi/qi$,求Ei.
输入输出格式
输入格式:
第一行一个整数n。
接下来n行每行输入一个数,第i行表示qi。
输出格式:
n行,第i行输出Ei。
与标准答案误差不超过1e-2即可。
输入输出样例
输入样例#1:
1 | 5 |
输出样例#1:
1 | -16838672.693 |
说明
对于30%的数据,n≤1000。
对于50%的数据,n≤60000。
对于100%的数据,$n≤100000,0<qi<1000000000$。
题解
一上午就搞了一道大水题。。。。(昨晚没睡好的后果)
具有创造力的(套路的)构造多项式:
$F(x)=\sum\limits_{i=1}^{n}q_ix^i$
$G(x) = \sum\limits_{i=1}^{n}\frac{1}{i^2}x^i$
系数使用多项式的小写字母表示
答案可以由这两个多项式卷积求得!
$H(x) = (\sum\limits{i=1}^{n}(\sum\limits{j=1}^{i-1}\frac{qj}{(i-j)^2 }-\sum\limits{j=i+1}^{n}\frac{q_j}{(i-j)^2})x^i$
$H(x) = \sum\limits{i=1}^{n}\sum\limits{j=1}^{i-1}qjg{i-j}x^i - \sum\limits{i=1}^{n}\sum\limits{j=i+1}^{n}qjg{j-i}x^i$
发现这其实也是$FFT$的一种卷积形式,因此直接多项式相乘。做完前面那个$FFT$,后面的发现下标相加等于$j$,不是标准的$FFT$卷积,把$f$的系数反转即可和左边一样(听说是常用技巧?)。
话说今天下午的时间基本上都给省选模拟赛了。
T1根号打表1e5还是只有50弃了(多打几十万大概70?),T2样例分,T3暴力分。
。。。感觉学了等于没学嘛。
哦还有一个大事,为了让省选前的我不是那么消极,准备学一学LCT(真香.jpg)