【做题记录】ZJOI2014 力

  • \(\text{ZJOI2014}\)】 力

    • 算法:\(\text{FFT}\)

题目:

给出 \(n\) 个数 \(q_1,q_2, \dots q_n\),定义

\[F_j~=~\sum_{i = 1}^{j - 1} \frac{q_i \times q_j}{(i - j)^2}~-~\sum_{i = j + 1}^{n} \frac{q_i \times q_j}{(i - j)^2} \]

\[E_i~=~\frac{F_i}{q_i} \]

\(1 \leq i \leq n\),求 \(E_i\) 的值。

题解:

\[F_j~=~\sum_{i = 1}^{j - 1} \frac{q_i \times q_j}{(i - j)^2}~-~\sum_{i = j + 1}^{n} \frac{q_i \times q_j}{(i - j)^2} \]

即求:

\[E_i=\frac{F_i}{q_i}=\sum_{j=1}^i\frac{q_j}{\left(i-j\right)^2}-\sum_{j=i+1}^n\frac{q_j}{\left(i-j\right)^2} \]

\(x_i=\dfrac1{i^2}\),则

\[E_i=\sum_{j=1}^iq_jx_{i-j}-\sum_{j=i+1}^nq_jx_{j-i} \]

再令 \(p_i=q_{n-i+1}\),那么

\[E_i=\sum_{j=1}^iq_jx_{i-j}-\sum_{j=i+1}^np_{n-j}x_{j-i} \]

此时式子的左侧和右侧都是卷积的形式

\(\text{FFT}\) 维护这个过程

将数列 \(q_i\)\(p_i\)\(x_i\) 作为多项式 \(f\)\(h\)\(g\) 的系数

将他们用 \(\text{FFT}\) 乘起来,得到的 \(f \times g\)\(h\times g\) 的系数做差,即 \(E_i\)

posted @ 2022-01-07 19:32  trsins  阅读(17)  评论(0编辑  收藏  举报