求:$sum_{i=1}^{n}sum_{d|i}(d,frac{i}{d})$.
重要套路:$(a,b)=d,ableqslant n$ 求这个(a,b)的个数,又要保证后面的限制,可以这样缩:符合要求的$(a,b)$一定有$x,y$使得$(x,y)=1,xd*yd<=n$,因此$xy<=frac{n}{d^2}$。
$sum_{i=1}^{n}sum_{d|i}(d,frac{i}{d})$
$=sum_{d}dsum _{a}sum _{b}((a,b)=d),ab<=n$
$=sum_{d}dsum_{x}sum_{y}I ((x,y)),xy<=frac{n}{d^2}$
$=sum_{d}d sum_{i=1}^{frac{n}{d^2}}sum_{d'|i}I ((d',frac{i}{d'}))$
$=sum_{d}d sum_{i=1}^{frac{n}{d^2}}sum_{d'|i}sum_{t|d'wedge t|frac{i}{d'}}mu(t)$
$=sum_{d}dsum_{t}mu(t)sum_{a}sum_{b}(a*bleq frac{n}{d^2},t|a,t|b)$
$=sum_{d}dsum_{t}mu(t)sum_{i=1}^{frac{n}{d^2t^2}}d(i)$
闪一句,$d(i)$表示$i$的因数个数。
$=sum_{w=1}^{n}varphi (w)sum_{i=1}^{frac{n}{w^2}}d(i)$
前面那部分phi只用枚举到根号即可。而后面的d(i)有
$sum_{i=1}^{n}d(i)=sum_{i=1}^{n}left lfloor frac{n}{i} ight floor$
闪一句,这里考虑每个数作为几个数的因数即可。
然后就可以根号套根号,复杂度大概是$sqrt{n}lnn$。