P4464 [国家集训队] JZPKIL 题解

NOIP 前三天,感觉绝对复习不完了的 gtm1514 认为已经没有什么好害怕的了,于是做起了数学题。

因为摆了大烂所以只有一道。

P4464 [国家集训队] JZPKIL

题意不再赘述。下午看见这题,跟 joke3579 说想稍微休息一下,不整什么花活了,搞点数学。于是就有了这个。

那一点一点拆吧。我不演了我就是想敲点数学式子。

\[\begin{aligned} &\sum_{i=1}^n\gcd(i,n)^x\text{lcm}(i,n)^y\\ =&\sum_{i=1}^n\gcd(i,n)^x\frac{(in)^y}{\gcd(i,n)^y}\\ =&n^y\sum_{i=1}^n\gcd(i,n)^{x-y}i^y\\ =&n^y\sum_{d|n}d^{x-y}\sum_{i=1}^ni^y[\gcd(i,n)=d]\\ =&n^y\sum_{d|n}d^{x-y}\sum_{i=1}^{\frac nd}(id)^y[\gcd(i,\frac nd)=1]\\ =&n^y\sum_{d|n}d^x\sum_{i=1}^{\frac nd}i^y[\gcd(i,\frac nd)=1]\\ =&n^y\sum_{d|n}d^x\sum_{i=1}^{\frac nd}i^y\sum_{e|\gcd(i,\frac nd)}\mu(e)\\ =&n^y\sum_{d|n}d^x\sum_{e|\frac nd}\mu(e)\sum_{i=1}^{\frac nd}(ie)^y\\ =&n^y\sum_{d|n}d^x\sum_{e|\frac nd}\mu(e)e^y\sum_{i=1}^{\frac nd}i^y\\ \end{aligned} \]

等幂求和,拉格朗日插值或者伯努利数。想想发现拉插太麻烦不想搞,于是上伯努利数。简记第 \(i\) 项伯努利数为 \(B_i\)

\[\begin{aligned} &n^y\sum_{d|n}d^x\sum_{e|\frac nd}\mu(e)e^y\sum_{i=1}^{\frac nd}i^y\\ =&n^y\sum_{d|n}d^x\sum_{e|\frac nd}\mu(e)e^y\sum_{i=0}^y\binom{y+1}iB_i\left(\frac n{ed}\right)^{y+1-i}\\ =&\frac{n^y}{y+1}\sum_{i=0}^y\binom{y+1}iB_i\sum_{d|n}d^x\sum_{e|\frac nd}\mu(e)e^y\left(\frac n{ed}\right)^{y+1-i} \end{aligned} \]

到这我陷入了沉思。所以吃饭之前先把上面的打出来,吃完饭再说下面的。

好了推完了。

前面一堆东西由于 \(y\le 3000\) 可以直接暴力。考虑后面一堆

\[f(n)=\sum_{d|n}d^x\sum_{e|\frac nd}\mu(e)e^y\left(\frac n{ed}\right)^{y+1-i} \]

先看后面。

\[g(n)=\sum_{d|n}\mu(d)d^y\left(\frac nd\right)^{y+1-i} \]

这玩意显然是个积性的。所以 \(f\) 也是积性的。当然筛是不可能筛的,因为 \(n\)\(10^{18}\)

考虑 \(f(p^k)\) 的取值:

\[f(p^k)=\sum_{a=0}^kp^{xa}\sum_{b=0}^{k-a}\mu(p^b)p^{yb}(p^{k-a-b})^{y+1-i} \]

这个 \(\mu\) 里面一大堆素数幂没啥子用,只需要考虑 \(b=0,1\) 的取值,也就是

\[f(p^k)=\sum_{j=0}^kp^{xj}\left((p^{k-j})^{y+1-i}-p^y(p^{k-j-1})^{y+1-i}\right) \]

然后可以预处理伯努利数,PR 暴力分解 \(n\)

感觉这一大堆指数看上去就很容易写挂,而且翻了一圈题解发现好像卡常。先去写写,卡不动了再去贺一份实现。

算了懒得写了先把博客发出去,NOIP 以后有空再写。

posted @ 2022-11-23 19:29  gtm1514  阅读(67)  评论(4编辑  收藏  举报