P1829 [国家集训队]Crash的数字表格 / JZPTAB
在 AGC038C 的基础上可以实现 $O(n \ln n)$ 可以通过,但是可以做到线性。
$$
\begin {aligned}
ANS & = \sum _ {T = 1} ^ n T \sum _ {e | T} \mu(e)e\sum _ {i = 1} ^ {\lfloor \frac n T \rfloor } i\sum _ {i = 1} ^ {\lfloor \frac m T \rfloor } i \\
& = \sum _ {e = 1} ^ n \mu(e)e \sum _ {T = 1} ^ {\lfloor \frac n e \rfloor} eT\sum _ {i = 1} ^ {\lfloor \frac n {eT} \rfloor } i\sum _ {i = 1} ^ {\lfloor \frac m {eT} \rfloor } i\\
& = \sum _ {e = 1} ^ n \mu(e)e ^ 2\sum _ {T = 1} ^ {\lfloor \frac n e \rfloor} T\sum _ {i = 1} ^ {\lfloor \frac n {eT} \rfloor } i\sum _ {i = 1} ^ {\lfloor \frac m {eT} \rfloor } i
\end {aligned}
$$
第一层数论分块,得到相等的 $\lfloor \frac n d \rfloor$ 和 $\lfloor \frac m d \rfloor$ ,预处理 $\mu(i) i ^ 2$ 的前缀和。第二层数论分块,得到相等的 $\lfloor \frac n {eT} \rfloor $ 和 $\lfloor \frac m {eT} \rfloor $ 。
查看代码
1 |
|