我们先不考虑
a
b
i
=
b
a
j
a_{b_i} = b_{a_j}
abi=baj 这种情况,那么就很裸的莫比乌斯反演了。
设
f
(
x
)
=
∑
i
=
1
n
∑
j
=
1
n
[
gcd
(
i
,
j
)
=
=
x
]
f(x) = \sum_{i=1}^{n}\sum_{j=1}^{n}[\gcd(i,j)==x]
f(x)=i=1∑nj=1∑n[gcd(i,j)==x]
在设
g
(
x
)
=
∑
x
∣
d
f
(
d
)
g(x) = \sum_{x|d}f(d)
g(x)=x∣d∑f(d)
=
∑
x
∣
d
∑
i
=
1
n
∑
j
=
1
n
[
gcd
(
i
,
j
)
=
=
d
]
=\sum_{x|d}\sum_{i=1}^{n}\sum_{j=1}^{n}[\gcd(i,j)==d]
=x∣d∑i=1∑nj=1∑n[gcd(i,j)==d]
=
∑
i
=
1
n
∑
j
=
1
n
[
x
∣
gcd
(
i
,
j
)
]
=\sum_{i=1}^{n}\sum_{j=1}^{n}[x|\gcd(i,j)]
=i=1∑nj=1∑n[x∣gcd(i,j)]
=
∑
x
∣
i
n
∑
x
∣
j
n
1
=\sum_{x|i}^{n}\sum_{x|j}^{n}1
=x∣i∑nx∣j∑n1
就得到如上式子,
那如果在考虑
a
b
i
=
b
a
j
a_{b_i} = b_{a_j}
abi=baj这个因素,只需加一个限制条件
f
(
x
)
=
∑
i
=
1
n
∑
j
=
1
n
[
gcd
(
i
,
j
)
=
=
x
]
[
a
b
i
=
b
a
j
]
f(x) = \sum_{i=1}^{n}\sum_{j=1}^{n}[\gcd(i,j)==x][a_{b_i} = b_{a_j}]
f(x)=i=1∑nj=1∑n[gcd(i,j)==x][abi=baj]
套用上面的方式,得到:
g
(
x
)
=
∑
x
∣
i
n
∑
x
∣
j
n
[
a
b
i
=
b
a
j
]
g(x) = \sum_{x|i}^{n}\sum_{x|j}^{n}[a_{b_i} = b_{a_j}]
g(x)=x∣i∑nx∣j∑n[abi=baj]
对于这个式子,可以
l
o
g
log
log得到
然后反演回去:
f
(
x
)
=
∑
x
∣
d
u
(
d
x
)
∗
g
(
d
)
f(x)=\sum_{x|d}u(\frac{d}{x})*g(d)
f(x)=x∣d∑u(xd)∗g(d)
这里x 等于1,所以最终答案为:
f
(
1
)
=
∑
d
=
1
n
u
(
d
)
∗
g
(
d
)
f(1)=\sum_{d=1}^{n}u(d)*g(d)
f(1)=d=1∑nu(d)∗g(d)
=
∑
d
=
1
n
u
(
d
)
∗
∑
d
∣
i
n
∑
d
∣
j
n
[
a
b
i
=
b
a
j
]
=\sum_{d=1}^{n}u(d)* \sum_{d|i}^{n}\sum_{d|j}^{n}[a_{b_i} = b_{a_j}]
=d=1∑nu(d)∗d∣i∑nd∣j∑n[abi=baj]
最终复杂度 O ( n l o g n ) O(nlogn) O(nlogn)