题目要求的柿子是:
\[\large \sum_{i=1}^n\sum_{j=1}^n\sigma(ij)
\]
小证明:
\(i\) 选了的 \(j\) 就必须在“不选集合”中选择“不选”,\(i\) 没选的 \(j\) 的 “不选集合” 中就可选可不选。
这样做显然是一一对应的,而且肯定满足 \(i\) 的“选集合”和 \(j\) 的“不选集合”互质。
首先根据结论:
\[\large
\sum_{i=1}^n\sum_{j=1}^n\sum_{x\vert i}\sum_{y\vert j}[\gcd(x,y)=1]\dfrac{xj}{y}
\]
先枚举 \(x,y\) :
\[\large \sum_{x=1}^n\sum_{y=1}^n\sum_{x\vert i}\sum_{y\vert j}[\gcd(x,y)=1]\dfrac{xj}{y}
\]
把只和 \(x,y\) 相关的提出来:
\[\large \sum_{x=1}^n\sum_{y=1}^n[\gcd(x,y)=1]\dfrac{x}{y}\lfloor\frac nx\rfloor\sum_{y\vert j}j
\]
把 \(\varepsilon=I*\mu\) 换一下:
\[\large \sum_{x=1}^n\sum_{y=1}^n\sum_{d\vert \gcd(x,y)}\mu(d)\dfrac{x}{y}\lfloor\frac nx\rfloor\sum_{y\vert j}j
\]
套路先枚举 \(d\) ,同时观察到最后那个柿子就是个等差数列:
\[\large \sum_{d=1}^n\mu(d)\sum_{x=1}^{\lfloor\frac nd\rfloor}\sum_{y=1}^{\lfloor\frac nd\rfloor}\frac{x}y\lfloor\frac n{xd}\rfloor yd\dfrac{\lfloor\frac {n}{yd}\rfloor(\lfloor\frac {n}{yd}\rfloor+1)}{2}
\]
化简一下:
\[\large \sum_{d=1}^n\mu(d)\sum_{x=1}^{\lfloor\frac nd\rfloor}\sum_{y=1}^{\lfloor\frac nd\rfloor}xd\lfloor\frac n{xd}\rfloor \dfrac{\lfloor\frac {n}{yd}\rfloor(\lfloor\frac {n}{yd}\rfloor+1)}{2}
\]
把该提出来的提出来:
\[\large \sum_{d=1}^n\mu(d)d\sum_{x=1}^{\lfloor\frac nd\rfloor}x\lfloor\frac n{xd}\rfloor \sum_{y=1}^{\lfloor\frac nd\rfloor}\dfrac{\lfloor\frac {n}{yd}\rfloor(\lfloor\frac {n}{yd}\rfloor+1)}{2}
\]
接下来可以考虑怎么解决后面两部分,先说最后一个柿子,为了方便,设 \(\lfloor\dfrac nd\rfloor\to n\) :
\[\large \sum_{i=1}^n\frac{\lfloor\frac{n}{i}\rfloor(\lfloor\frac{n}{i}\rfloor+1)}{2}
\]
把后面的柿子换回等差数列的形式,然后交换求和顺序:
\[\large\sum_{i=1}^n\sum_{j=1}^{\lfloor\frac ni\rfloor}j=\sum_{j=1}^nj\sum_{i=1}^{\lfloor\frac nj\rfloor}1=\sum_{i=1}^ni\lfloor\frac ni\rfloor
\]
这时我们再来看前面一个柿子,发现这两个柿子现在不是一样的吗?
那么我们现在只需要解决前面的柿子再平方一下就行了。
还是为了方便,设 \(\lfloor\dfrac nd\rfloor\to n\) :
\[\large \sum_{i=1}^ni\lfloor\frac ni\rfloor
\]
考虑其实际意义:\(\large i\lfloor\frac ni\rfloor\) 的意义就是在 \([1,n]\) 当中,\(i\) 作为因数对其所有倍数的因数和的贡献。
那么对于 \([1,n]\) 中所有这样的 \(i\) ,自然有:
\[\large \sum_{i=1}^ni\lfloor\frac ni\rfloor=\sum_{i=1}^n\sigma_{1}(i)
\]
那么现在原式就变成了:
\[\large Ans=\sum_{d=1}^n\mu(d)d\left(\sum_{i=1}^{\left\lfloor\frac n i\right\rfloor}\sigma_1(i)\right)^2
\]
很容易发现后面的柿子是个整除分块,但是也要计算 \(\sigma_1\) 的前缀和,而前面则是要计算 \(\mu(d)d\) 的前缀和。
考虑杜教筛。
先考虑 \(\mu(d)d\) ,似乎带 \(d\) 的柿子都可以给它卷个 \(id\) 使得这个 \(d\) 被消掉,于是我们试一下:
\[\large \sum_{i=1}^n\sum_{d\vert i}d\cdot\mu(\frac id)\frac id=\sum_{i=1}^ni(\mu*I)(i)=\sum_{i=1}^ni[i=1]=1
\]
非常简洁,那么考虑 \(id\) 的前缀和好求吗?非常好求,就是等差数列,那么我们就可以筛出 \(\mu(d)d\) 了,接下来考虑 \(\sigma_{1}\) :
想了一万年,发现并没有什么好的函数来筛 \(\sigma_{1}\) ,但是我们发现,其实如果我们直接爆算,那么就是一个除法分块的复杂度(还记得 \(\large \sum\limits_{i=1}^n\sigma_{1}(i)=\sum\limits_{i=1}^ni\lfloor\frac ni\rfloor\) 吗)。
但是!这里有个非常高妙的做法:
考虑杜教筛是怎么做到 \(O(n^{\frac{2}{3}})\) 复杂度的:先线性筛出 \(n^{\frac 23}\) 的前缀和,然后剩下的部分除法分块以及递归!
那么我们直接线性筛出这个函数的 \(n^{\frac23}\) ,然后对剩下部分除法分块,复杂度也可以近似为 \(n^{\frac 23}\) ,甚至比杜教筛还要优!(因为还省掉了递归的复杂度,虽然在主定理中这不是瓶颈)
那么就结束了,时间复杂度 \(O(n^{\frac 23})\) 。