1. 程式人生 > >#莫比烏斯反演,整除分塊,線性篩#bzoj 3994 洛谷 3327 [SDOI2015]約數個數和

#莫比烏斯反演,整除分塊,線性篩#bzoj 3994 洛谷 3327 [SDOI2015]約數個數和

題目

d ( x ) d(x) x x

的約數個數,給定 n , m n,m ,求 i =
1 n j = 1 m
d ( i j ) \sum^n_{i=1}\sum^m_{j=1}d(ij)


分析

又到了推式子的過程了
a n s = i = 1 n j = 1 m x i y j [ g c d ( x , y ) = 1 ] ans=\sum^n_{i=1}\sum^m_{j=1}\sum_{x|i}\sum_{y|j}[gcd(x,y)=1]
根據莫比烏斯反演,得到
a n s = i = 1 n j = 1 m x i y j d g c d ( x , y ) μ ( d ) ans=\sum^n_{i=1}\sum^m_{j=1}\sum_{x|i}\sum_{y|j}\sum_{d|gcd(x,y)}\mu(d)
直接列舉 d d ,得到
a n s = i = 1 n j = 1 m x i y j d = 1 m i n ( n , m ) μ ( d ) [ d g c d ( x , y ) ] ans=\sum^n_{i=1}\sum^m_{j=1}\sum_{x|i}\sum_{y|j}\sum_{d=1}^{min(n,m)}\mu(d)*[d|gcd(x,y)]
把只有關 d d 的項移出,得到
a n s = d = 1 m i n ( n , m ) μ ( d ) i = 1 n j = 1 m x i y j [ d g c d ( x , y ) ] ans=\sum_{d=1}^{min(n,m)}\mu(d)\sum^n_{i=1}\sum^m_{j=1}\sum_{x|i}\sum_{y|j}[d|gcd(x,y)]
換一種方式,得到
a n s = d = 1 m i n ( n , m ) μ ( d ) x = 1 n y = 1 m [ d g c d ( x , y ) ] n x m y ans=\sum_{d=1}^{min(n,m)}\mu(d)\sum_{x=1}^n\sum_{y=1}^m[d|gcd(x,y)]\lfloor\frac{n}{x}\rfloor\lfloor\frac{m}{y}\rfloor
列舉 d x , d y dx,dy ,得到
a n s = d = 1 m i n ( n , m ) μ ( d ) x = 1 n d y = 1 m d n d x m d y ans=\sum_{d=1}^{min(n,m)}\mu(d)\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{y=1}^{\lfloor\frac{m}{d}\rfloor}\lfloor\frac{n}{dx}\rfloor\lfloor\frac{m}{dy}\rfloor
再移項,得到
a n s = d = 1 m i n ( n , m ) μ ( d ) ( x = 1 n d n