[HDU - 6833] A Very Easy Math Problem (莫比乌斯反演)
[HDU - 6833] A Very Easy Math Problem (莫比乌斯反演)
与 \(\gcd\) 有关的问题,很容易想到莫比乌斯反演
设 \(G(a,n)=(\sum_{i=1}^{\lfloor \frac{n}{a} \rfloor } (ai)^k)^x\)
\(Ans=\sum_{g=1}^{n} g\cdot f(g)\cdot \sum _{d=1}^{\lfloor\frac{n}{g}\rfloor} \mu(d) G(gd,n)\)
对于单组询问,显然可以 \(O(n\ln n)\) 求解
考虑优化
可以在 \(O(n\ln n)\) 的时间内,对于每个 \(i\) ,求出 \(F(i)=\sum_{d|i}\mu(d)\cdot \frac{i}{d} f(\frac{i}{d})\)
对于 \(G(a,n)\) 的求解,参数分离后发现 \(G(a,n)=a^{kx}(\sum_{i=1}^{\lfloor \frac{n}{a} \rfloor } i^k)^x\)
可以预处理出 \(S(n)=\sum_{i=1}^n i^{kx}\cdot F(i)\) 前缀和以及 \(A(n)=(\sum_{i=1}^{n}i^k)^x\) ,对于每个 \(\lfloor \frac{n}{a}\rfloor\) 考虑即可
数论分段的复杂度为单组查询 \(O(\sqrt n)\)
1 |
|