题意
求
[sum _{i=1}^nsum _{j=1}^nsigma (ij)
]
其中 (sigma(x)) 为约数个数函数。
(nle 10^9) 。
分析
拆开咯
[egin{aligned}
sum _{i=1}^nsum _{j=1}^nsigma (ij)&=sum _{i=1}^nsum _{j=1}^nsum _{d|ij}1 \
&=sum _{i=1}^nsum _{j=1}^nsum _{frac{d}{gcd(d,i)}|j}1 \
&=sum _{i=1}^nsum _{j=1}^nsum _{e|i}sum _{a=1}^{lfloorfrac{n^2}{e}
floor}[a|j][gcd(a,frac{i}{e})=1] \
&=sum _{i=1}^nsum _{j=1}^nsum _{e|i}sum _{a|j}[gcd(a,e)=1] \
&=sum _{i=1}^nsum _{j=1}^nsum _{e|i}sum _{a|j}sum _{d|a,d|e}mu (d) \
&=sum _{d=1}^nmu (d)sum _{e=1}^{lfloorfrac{n}{d}
floor}sum _{e|i}sum _{a=1}^{lfloorfrac{n}{d}
floor}sum _{a|j} \
&=sum _{d=1}^nmu (d)(sum _{e=1}^{lfloorfrac{n}{d}
floor}lfloorfrac{n}{de}
floor)^2
end{aligned}
]
设 (f(m)=sum _{i=1}^mlfloorfrac{m}{i} floor) ,那么
[sum _{i=1}^nsum _{j=1}^nsigma (ij)=sum _{d=1}^nmu (d)f(lfloorfrac{n}{d}
floor)^2
]
前面的 (mu) 用杜教筛,后面的 (f) 直接计算,复杂度为
[int _0^sqrt n (sqrt x+sqrtfrac{n}{x})dx=n^frac{3}{4}
]
杜教筛中访问的都是 (frac{n}{x}) 的形式,所以复杂度相当于一次杜教筛,也是 (n^frac{3}{4}) (或预处理后的 (n^frac{2}{3}) )。
数论题在推的时候一定要注意,枚举完之后看看是否有一些 (gcd) 的限制,比如说上面枚举 (a) 的时候,之前就没有注意到,导致推出来一个错误的结果。
回到上面推导过程中的第四行,我们实际上推出了一个形式优美的等式:
[sum _{i=1}^nsum _{j=1}^nsigma (ij)=sum _{i=1}^nsum _{j=1}^nlfloorfrac{n}{i}
floorlfloorfrac{n}{j}
floor [gcd(i,j)=1]
]
观察推导过程,就能发现这个式子是可以拓展的:
[sum _{a_1}sum _{a_2}sum _{a_3}cdotssigma(prod a_i)=sum _{a_1}lfloorfrac{n}{a_1}
floorsum _{a_2}lfloorfrac{n}{a_2}
floorsum _{a_3}lfloorfrac{n}{a_3}
floorcdots [两两gcd 均为1]
]
推到最后就是 (f) 上面的指数发生变化。
很有趣的结论呢!