UOJ Logo wangrx的博客

博客

#497 的多项式解法

2020-11-27 13:22:06 By wangrx

设 $a_1+a_n=a_2+a_{n-1}=\dots=a_\frac{n}{2}+a_{\frac{n}{2}+1}=\bar{a}$,易得 $\displaystyle \bar{a}=\frac{2}{n}\sum^n_{i=1}a_i$
构造多项式 $\displaystyle\sum^\frac{n}{2}_{i=1}(\bar{a}-a_i-a_{n-i+1})^2=0$,若该式成立,则原题目条件成立,于是 $$\sum^\frac{n}{2}_{i=1}(\bar{a}^2-2\bar{a}(a_i+a_{n-i+1})+(a_i+a_{n-i+1})^2)=0$$ $$\sum^\frac{n}{2}_{i=1}(a_i+a_{n-i+1})^2=2\bar{a}\sum^n_{i=1}a_i-\frac{n}{2}\bar{a}^2$$ $$\sum^\frac{n}{2}_{i=1}(a_i^2+a_{n-i+1}^2+2a_ia_{n-i+1})=\frac{n}{2}\bar{a}^2$$ $$\frac{n}{2}\bar{a}^2-\sum^n_{i=1}a_i^2=2\sum^\frac{n}{2}_{i=1}a_ia_{n-i+1}=\sum^n_{i=1}a_ia_{n-i+1}$$ 最后有 $\displaystyle\frac{n}{2}\bar{a}^2-\sum^n_{i=1}a_i^2=\sum^n_{i=1}a_ia_{n-i+1}$,左边为 $\Theta(n)$ 计算,与顺序无关的定值。

右边为卷积的形式,$\Theta(n\log n)$ 全部算出来,一个一个与左边比对即可。

具体的,设 $f(x)=(\displaystyle\sum^{n-1}_{i=0}a_ix^i)^2,f_i$ 为其第 $i$ 项, 则滚动 $k$ 次右边的值为$f_{n-1+k}+f_{(2n-1+k)\bmod 2n}$

评论

Eason
Orz @wangrx
M_sea
/qiang

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。