P6156 簡單題 題解
題目大意
題目傳送門
給定 \(n,k\),求 \(\sum_{i=1}^n\sum_{j=1}^n(i+j)^k\gcd(i,j)\mu^2(\gcd(i,j))\)。
\(1\leq n\leq5\times10^6\)
題目分析
先推導一波式子:
\[\begin{aligned}
ans&=\sum_{i=1}^n\sum_{j=1}^n(i+j)^k\gcd(i,j)\mu^2(\gcd(i,j))\\
&=\sum_{t=1}^nt^{k+1}\mu^2(t)\sum_{i=1}^n\sum_{j=1}^n(i+j)^k[\gcd(i,j)=t]\\
&=\sum_{t=1}^nt^{k+1}\mu^2(t)\sum_{i=1}^{\lfloor\frac{n}{t}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{t}\rfloor}(i+j)^k\sum_{d|i,d|j}\mu(d)\\
&=\sum_{t=1}^nt^{k+1}\mu^2(t)\sum_{d=1}^{\lfloor\frac{n}{t}\rfloor}d^k\mu(d)\sum_{i=1}^{\lfloor\frac{n}{td}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{td}\rfloor}(i+j)^k\\
\end{aligned}
\]
令 \(S(n)=\sum_{i=1}^n\sum_{j=1}^n(i+j)^k\),
\[ans=\sum_{t=1}^n\sum_{d=1}^nt^{k+1}d^k\mu^2(t)\mu(d)S(\lfloor\frac{n}{td}\rfloor)
\]
設 \(T=td\),
\[ans=\sum_{T=1}^nT^kS(\lfloor\frac{n}{T}\rfloor)\sum_{d|T}d\mu^2(d)\mu(\frac{T}d)
\]
-
先考慮快速求出 \(S(n)\)
令 \(F(n)=\sum_{i=1}^ni^k,G(n)=\sum_{i=1}^nF(i)\)。
則有 \(S(n)=\sum_{i=n+1}^{2n}F(i)-\sum_{i=1}^nF(i)=G(2n)-2G(n)\)。
而 \(F(n)\) 可以用尤拉篩篩出來。
-
在考慮 \(f(n)=\sum_{d|n}d\mu^2(d)\mu(\frac{T}d)\)
顯然 \(f(n)\) 也是積性函式。
從 \(\mu\) 函式考慮,討論 \(p\) 在 \(n\) 中的最高次冪,既有 \(p^k|x\and p^{k+1}\not\mid x\)。
因為有 \(f(n)=f(p^k)\times f(\frac{n}{p^k})\),所以討論 \(f(p^k)\) 的取值:
- \(k=0\),則 \(f(1)=1\)。
- \(k=1\),則 \(f(p)=1\mu^2(1)\mu(p)+p\mu^2(p)\mu(1)=p-1\)。
- \(k=2\),則 \(f(p^2)=1\mu^2(1)\mu(p^2)+p\mu^2(p)\mu(p)+p^2\mu^2(p^2)\mu(1)=-p\)。
- \(k\geq3\),根據鴿巢定理,此時 \(\mu(d)=0\or \mu(\frac{n}d)=0\),則 \(f(p^k)=0\)。
於是可以計算出 \(f(n)\)。