题意:
令
f
(
n
)
=
∑
d
∣
n
∣
μ
(
d
)
∣
f(n)=\sum_{d|n}|\mu (d)|
f(n)=∑d∣n∣μ(d)∣。
T
T
T组询问,每组给定一个
n
n
n和
m
m
m,求
∑
i
=
1
m
f
(
n
i
)
\sum_{i=1}^{m}f(ni)
∑i=1mf(ni)。
(
1
≤
T
≤
1
0
4
,
1
≤
n
,
m
≤
1
0
7
)
(1\leq T\leq 10^{4},1\leq n,m\leq 10^{7})
(1≤T≤104,1≤n,m≤107)
推导:
首先根据莫比乌斯函数 μ ( n ) \mu (n) μ(n)的定义式可以知道,当 n n n存在平方因子时, ∣ μ ( n ) ∣ = 0 |\mu (n)|=0 ∣μ(n)∣=0,否则 ∣ μ ( n ) ∣ = 1 |\mu (n)|=1 ∣μ(n)∣=1。
所以 f ( n ) f(n) f(n)表示的是 n n n的因子中,不存在平方因子的因子个数。
我们将 n n n的质因子全部找出来,因为不能有平方因子,所以每个质因子的次数要么为 0 0 0,要么为 1 1 1。就得到了 f ( n ) = 2 w ( n ) f(n)=2^{w(n)} f(n)=2w(n),其中 w ( n ) w(n) w(n)表示 n n n有多少个不同的质因子。
根据上面推出来的式子,可以发现 f ( a b ) = f ( a ) f ( b ) f ( g c d ( a , b ) ) = 2 w ( a ) + w ( b ) − w ( g c d ( a , b ) ) f(ab)=\frac{f(a)f(b)}{f(gcd(a,b))}=2^{w(a)+w(b)-w(gcd(a,b))} f(ab)=f(gcd(a,b))f(a)f(b)=2w(a)+w(b)−w(gcd(a,b))。
弄出了
g
c
d
gcd
gcd之后,我们考虑莫比乌斯反演,就要先把
g
c
d
gcd
gcd提出来,原式就变成。
∑
i
=
1
m
f
(
n
i
)
=
∑
g
=
1
m
i
n
(
n
,
m
)
2
−
w
(
g
)
∑
i
=
1
m
2
w
(
n
)
+
w
(
i
)
[
g
=
g
c
d
(
n
,
i
)
]
\sum_{i=1}^{m}f(ni)=\sum_{g=1}^{min(n,m)}2^{-w(g)}\sum_{i=1}^{m}2^{w(n)+w(i)}[g=gcd(n,i)]
i=1∑mf(ni)=g=1∑min(n,m)2−w(g)i=1∑m2w(n)+w(i)[g=gcd(n,i)]
现在开始莫比乌斯反演,令 y ( g ) = ∑ i = 1 m 2 w ( n ) + w ( i ) [ g = g c d ( n , i ) ] y(g)=\sum_{i=1}^{m}2^{w(n)+w(i)}[g=gcd(n,i)] y(g)=∑i=1m2w(n)+w(i)[g=gcd(n,i)]。
然后令
Y
(
d
)
=
∑
d
∣
g
y
(
g
)
Y(d)=\sum_{d|g}y(g)
Y(d)=∑d∣gy(g),即,
Y
(
d
)
=
∑
d
∣
g
∑
i
=
1
m
2
w
(
n
)
+
w
(
i
)
[
g
=
g
c
d
(
n
,
i
)
]
=
∑
i
=
1
m
∑
d
∣
n
∑
d
∣
i
2
w
(
n
)
+
w
(
i
)
Y(d)=\sum_{d|g}\sum_{i=1}^{m}2^{w(n)+w(i)}[g=gcd(n,i)]=\sum_{i=1}^{m}\sum_{d|n}\sum_{d|i}2^{w(n)+w(i)}
Y(d)=d∣g∑i=1∑m2w(n)+w(i)[g=gcd(n,i)]=i=1∑md∣n∑d∣i∑2w(n)+w(i)
则有 y ( g ) = ∑ g ∣ d μ ( d / g ) Y ( d ) y(g)=\sum_{g|d}\mu (d/g)Y(d) y(g)=∑g∣dμ(d/g)Y(d)。
原式就变成了,
∑
g
=
1
m
i
n
(
n
,
m
)
y
(
g
)
=
∑
g
=
1
m
i
n
(
n
,
m
)
2
−
w
(
g
)
∑
g
∣
d
μ
(
d
/
g
)
∑
d
∣
n
∑
i
=
1
m
∑
d
∣
i
2
w
(
n
)
+
w
(
i
)
=
2
w
(
n
)
∑
i
=
1
m
2
w
(
i
)
∑
d
∣
n
∑
d
∣
i
∑
g
∣
d
2
−
w
(
g
)
μ
(
d
/
g
)
\sum_{g=1}^{min(n,m)}y(g)=\sum_{g=1}^{min(n,m)}2^{-w(g)}\sum_{g|d}\mu(d/g)\sum_{d|n}\sum_{i=1}^{m}\sum_{d|i}2^{w(n)+w(i)}=2^{w(n)}\sum_{i=1}^{m}2^{w(i)}\sum_{d|n}\sum_{d|i}\sum_{g|d}2^{-w(g)}\mu(d/g)
g=1∑min(n,m)y(g)=g=1∑min(n,m)2−w(g)g∣d∑μ(d/g)d∣n∑i=1∑md∣i∑2w(n)+w(i)=2w(n)i=1∑m2w(i)d∣n∑d∣i∑g∣d∑2−w(g)μ(d/g)
我们令
G
(
d
)
=
∑
g
∣
d
2
−
w
(
g
)
μ
(
d
/
g
)
G(d)=\sum_{g|d}2^{-w(g)}\mu(d/g)
G(d)=∑g∣d2−w(g)μ(d/g),可以
o
(
n
l
o
g
n
)
o(nlogn)
o(nlogn)预处理这个函数,然后接着化式子。
A
N
S
=
2
w
(
n
)
∑
i
=
1
m
2
w
(
i
)
∑
d
∣
n
∑
d
∣
i
G
(
d
)
=
2
w
(
n
)
∑
d
∣
n
G
(
d
)
∑
i
=
1
m
∑
d
∣
i
2
w
(
i
)
=
2
w
(
n
)
∑
d
∣
n
G
(
d
)
∑
i
=
1
⌊
m
d
⌋
2
w
(
i
d
)
ANS=2^{w(n)}\sum_{i=1}^{m}2^{w(i)}\sum_{d|n}\sum_{d|i}G(d)=2^{w(n)}\sum_{d|n}G(d)\sum_{i=1}^{m}\sum_{d|i}2^{w(i)}=2^{w(n)}\sum_{d|n}G(d)\sum_{i=1}^{\lfloor \frac{m}{d} \rfloor}2^{w(id)}
ANS=2w(n)i=1∑m2w(i)d∣n∑d∣i∑G(d)=2w(n)d∣n∑G(d)i=1∑md∣i∑2w(i)=2w(n)d∣n∑G(d)i=1∑⌊dm⌋2w(id)
代码:
在这里插入代码片