2025-2-29 RE 数论
还是经典问题:
\[\begin{aligned}
&\sum_{i=1}^{n}\sum_{j=1}^{n}A(i)B(j)C(\gcd(i,j))\\
=&\sum_{k=1}^{n}C(k)
\sum_{i=1}^{\left\lfloor\frac{n}{k}\right\rfloor}
\sum_{j=1}^{\left\lfloor\frac{n}{k}\right\rfloor}
[\gcd(i,j)=1]A(ik)B(jk)\\
=&\sum_{k=1}^{n}C(k)
\sum_{i=1}^{\left\lfloor\frac{n}{k}\right\rfloor}
\sum_{j=1}^{\left\lfloor\frac{n}{k}\right\rfloor}
\sum_{d|i,d|j}\mu(d)A(ik)B(jk)\\
=&\sum_{k=1}^{n}C(k)\sum_{d=1}^{n}\mu(d)
\sum_{i=1}^{\left\lfloor\frac{n}{kd}\right\rfloor}
\sum_{j=1}^{\left\lfloor\frac{n}{kd}\right\rfloor}
A(ikd)B(jkd)\\
=&\sum_{k=1}^{n}\sum_{d|k}\mu(d)C(\frac{k}{d})
\left(\sum_{i=1}^{\left\lfloor\frac{n}{k}\right\rfloor}A(ik)\right)
\left(\sum_{j=1}^{\left\lfloor\frac{n}{k}\right\rfloor}B(jk)\right)
\\
=&\sum_{k=1}^{n}\sum_{d|k}\mu(d)C(\frac{k}{d})
\left(\sum_{k|i}A(i)\right)
\left(\sum_{k|j}B(j)\right)
\\
\end{aligned}
\]
将 \(\mu\) 和 \(C\) 卷,可以倒着做 Dirichlet 前缀和,后面对 \(A\) 和 \(B\) 做 Dirichlet 后缀和。
可以做到 \(O(n \ln \ln n)\)。
对于以下问题,可以直接套用上面的问题:
\[\begin{aligned}
&\sum_{i=1}^{n}\sum_{j=1}^{n}S(ij)\\
=&\sum_{g=1}^{n}
\sum_{i=1}^{\left\lfloor\frac{n}{g}\right\rfloor}
\sum_{j=1}^{\left\lfloor\frac{n}{g}\right\rfloor}
S(ijg^2)[\gcd(i,j)=1] \\
&H(i)=\frac{S(ig^2)}{S(g^2)}\\
&S(ijg^2)=H(ij)S(g^2)=H(i)H(j)S(g^2)
\end{aligned}
\]