HDU 6175 算术

题目大意

求 $sum_{i = 1}^{n} sum_{j = 1}^{m} mu(lcm(i, j))$ 。
$ 1 le n, m le 10^6 $ 。

分析

不妨设 $ n le m$ 。

$ mu(lcm(i, j)) = mu(i) mu(j) mu(gcd(i, j)) $

令 $S = sum_{i = 1}^{n} sum_{j = 1}^{m} mu(lcm(i, j))$

egin{aligned}
S &= sum_{i = 1}^{n} sum_{j = 1}^{m} mu(i) mu(j) mu(gcd(i, j)) \
&= sum_{d = 1}^{n} mu(d) sum_{i = 1}^{n} sum_{j = 1}^{m} mu(i) mu(j) [gcd(i, j) = d] \
&= sum_{d = 1}^{n} mu(d) sum_{i = 1}^{n/d} sum_{j = 1}^{m/d} mu(id) mu(jd) color{red}{ [gcd(i, j) = 1] } \
&= sum_{d = 1}^{n} mu(d) sum_{i = 1}^{n/d} sum_{j = 1}^{m/d} mu(id) mu(jd) color{red}{ sum_{k mid gcd(i, j)} mu(k) } \
&= sum_{d = 1}^{n} mu(d) sum_{i = 1}^{n/d} sum_{j = 1}^{m/d} mu(id) mu(jd) color{red}{ sum_{k mid i, k mid{j}} mu(k) } \
&= sum_{d = 1}^{n} mu(d) sum_{k = 1}^{n / d} mu(k) sum_{i = 1}^{n/d} sum_{j = 1}^{m/d} mu(id) mu(jd) sum_{k mid i, k mid{j}} 1 \
&= sum_{d = 1}^{n} mu(d) sum_{k = 1}^{n / d} mu(k) sum_{i = 1}^{n/(dk)} sum_{j = 1}^{m/(dk)} mu(idk) mu(jdk)
end{aligned}

上述红色部分即用莫比乌斯函数的性质 $sum_{dmid n} mu(d) = [n = 1]$ 进行化简的套路。

固定 $dk$(即令 $t = dk$),有

egin{aligned}
S = sum_{t = 1}^{n} color{blue}{ sum_{d mid t} mu(d) mu(t / d) } sum_{i = 1}^{n/t} mu(it) sum_{j = 1}^{m/t} mu(jt)
end{aligned}

$sum_{d mid t} mu(d) mu(t / d)$ 即 $(mu * mu) (t)$ 。

预处理

对于 $t$ 从 $1$ 到 $n$,求

  • $mu(t)$,用线性筛,复杂度 $O(n)$ 。
  • $sum_{d mid t} mu(d) mu(t / d)$,复杂度 $O(n log n)$ 。
  • $sum_{i = 1}^{n/t} mu(it)$ 和 $ sum_{j = 1}^{m/t} mu(jt) $,复杂度 $O(m log m)$ 。
原文地址:https://www.cnblogs.com/Patt/p/11490010.html