ABC452E You WILL Like Sigma Problem

https://atcoder.jp/contests/abc452/tasks/abc452_e

\[\begin{align*} &\sum_{i = 1}^n \sum_{j = 1}^m a_i \cdot b_j \cdot (i \bmod j) \\ =&\sum_{i = 1}^n \sum_{j = 1}^m a_i \cdot b_j \cdot (i - j\left\lfloor\frac{i}{j}\right\rfloor) \\ =&\sum_{i = 1}^n \sum_{j = 1}^m a_i \cdot i \cdot b_j - a_i \cdot b_j \cdot j\left\lfloor\frac{i}{j}\right\rfloor \\ =&\left(\sum_{j = 1}^m b_j\right)\left(\sum_{i = 1}^n a_i \cdot i\right) - \sum_{j = 1}^m b_j \cdot j \sum_{i = 1}^n a_i \left\lfloor\frac{i}{j}\right\rfloor \end{align*} \]

考虑如何算第二项,将 \(i\) 的取值分成 \(\lfloor\frac{n}{j}\rfloor\) 段:\([j, 2j), [2j, 3j), \ldots, [\lfloor\frac{n}{j}\rfloor j, n]\)。每段的 \(\lfloor\frac{i}{j}\rfloor\) 为定值,枚举每一段即可。时间复杂度 \(O(n \log m)\)

posted @ 2026-04-06 23:55  Sunsoak  阅读(8)  评论(0)    收藏  举报