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))\)

\begin{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_{d\mid n} \mu(d) = [n = 1]\) 进行化简的套路。

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

\begin{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)\)
posted @ 2019-09-09 11:53  Pat  阅读(185)  评论(0编辑  收藏  举报