spoj LCMSUM - LCM Sum
这个 gcd 在分母上面很讨厌,考虑以它为贡献体贡献(由于 gcd 的一个元 \(n\) 是常数,所以可以确定 gcd 整除 \(n\),这样会有很多方便)。
按 P2522 的套路把 gcd 要等于的值弄成 \(1\)(由于 \(j\mid n\),所以 \(\sum\) 的上界不需要取整)。
噫,好,这 \(\dfrac 1j\) 直接约掉了,然后再根据对称性化简一下。
第二个 \(\sum\) 看起来跟 \(\varphi\) 有关系。考虑从意义上来想,对 \(j>1\),互质的数是成对出现的,若 \(i\) 互质,\(j-i\) 也互质,一对的和为 \(j\)。\(\dfrac j2\) 也不用担心,算作半对来考虑,那么这个和式就等于 \(\dfrac{\varphi(j)j}2\)。 对 \(j=1\) 由于自己和自己互质了,单独考虑开来答案为 \(1\)。
但是我们用推柿子把它推出来。考虑把 \([?=1]\) 用 \(\mu*1\) 展开。
交换 \(\sum\)(老套路),然后一个 \(k\) 的贡献系数就是 \(1\sim j\) 中 \(k\) 的倍数和,容易算出 \(\dfrac{\left\lfloor\dfrac jk\right\rfloor\left(1+\left\lfloor\dfrac jk\right\rfloor\right)}2k\)。但是有 \(k\mid j\),所以取整直接拿掉, \(\dfrac{\dfrac jk\left(1+\dfrac jk\right)}2k=\dfrac{j\left(1+\dfrac jk\right)}2\)。
把 \(\dfrac j2\) 看成常系数,括号拆开,那么第二个 \(\sum\) 其实就是个 \((\mu*1+\mu*\mathrm{id})(j)\)。恰巧这两个狄卷都是可以算的,等于 \(\epsilon+\varphi\)。那么
到这一步直接算是枚举因数,根号的复杂度。不过可以预处理的话是线对的调和级数复杂度,或者可以看成 \(f(x)=\dfrac x2(\epsilon(x)+\varphi(x))\) 时的 \((f*1)(n)\),狄卷暴力算就是线对的。那直接算就可以了。
upd:乘法分配律拆进去,\((f*1)=\dfrac{(\mathrm{id}\times\epsilon)*1+(\mathrm{id\times\varphi})*1}2\)。两个都是积性函数卷积性函数,依然是积性函数,线性筛就行了。