题目链接
做法
已知 $ \phi(xy) = \frac{ \phi(x) \phi(y) \gcd(x, y) }{ \phi(gcd(x, y)) } $
代入并莫比乌斯反演得:
$$ n(n - 1) Ans = \sum_{ T = 1 }^{ n } \sum_{ d | T } \frac{ d \mu(\frac{ T }{ d }) }{ \phi(d) } \sum_{ d | a_i } \sum_{ d | a_j } \phi(a_i) \phi(a_j) dist(i, j) $$
发现 $ \sum_{ T = 1 }^{ n } \sum_{ d | T } \frac{ d \mu(\frac{ T }{ d }) }{ \phi(d) } $ 可以调和级数, $ \sum_{ d | a_i } \sum_{ d | a_j } \phi(a_i) \phi(a_j) dist(i, j) $ 建的虚树点数总数也是调和级数。
可以用 RMQ_LCA 实现复杂度 $ O(n \log n) $ 。作为一个懒汉我写树剖LCA。
1 |
|