大抵是个十分 trivial 的 Min25 模板题吧(虽然不如简单的函数 trivival)
考虑令 T=j+k,则题目要求的为 n∑i=1n∑j=1j+n∑T=j+1[(j|i)∧(T|i)]
考虑 n∑j=1j+n∑T=j+1[(j|i)∧(T|i)] 的组合意义,即从 i 的约数中选无序点对的方案数(当 j<T≤i 时才可能有贡献)。
故题目所求为 n∑i=1(σ0(i)2)=12n∑i=1(σ20(i)−σ0(i))
众所周知 n∑i=1σ0(i)=n∑i=1⌊ni⌋,于是 O(√n) 求。
n∑i=1σ20(i)?直接 Min_25 筛吧。
显然 σ20(pc)=(c+1)2。
代码:
1 |
|