首页 > 其他 > 详细

P3338 [ZJOI2014]力

时间:2020-12-20 15:02:27      阅读:19      评论:0      收藏:0      [点我收藏+]

\[E_j=\dfrac{F_j}{q_j} \]

原式变成

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

消去 \(q_j\)

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

\(g_i=\dfrac{1}{i^2}\)

\[\sum_{i=1}^{j-1}q_i\times g_{j-i}-\sum_{i=j+1}^n q_i\times g_{i-j} \]

\(g_0=q_0=0\),前半部分变成加法卷积的形式

\[\sum_{i=0}^{j}q_i\times g_{j-i} \]

后半部分将下标全部翻转(\(i\) 变成 \(n-i\))就和前半部分一模一样了。

用 FFT 加速,时间复杂度 \(O\left(n\log n\right)\)

可以学到的技巧:

  • 寻找和固定的下标。
  • 翻转下标,即反着做。

P3338 [ZJOI2014]力

原文:https://www.cnblogs.com/May-2nd/p/14163455.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!