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} \]

posted @ 2025-02-19 16:46  KevinLikesCoding  阅读(44)  评论(0)    收藏  举报