P6156 簡單題 題解

LIUIR發表於2024-06-01

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

  1. 先考慮快速求出 \(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)\) 可以用尤拉篩篩出來。

  2. 在考慮 \(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)\)

相關文章