首先为了简洁 n=N,m=M。
然后 μ(i)μ(j)σ(ij) 这个式子,当 i 和 j 都没有平方质因子时, μ(i)μ(j)σ(ij)=μ(i)μ(j)σ(igcd(i,j))σ(jgcd(i,j))σ(gcd2(i,j))=μ(i)μ(j)σ(i)σ(j)σ(gcd2(i,j))σ2(gcd(i,j))
当 i 或 j 有平方质因子时,显然 μ(i)μ(j)=0,所以没有贡献。
于是 n∑i=1m∑j=1μ(i)μ(j)σ(i)σ(j)σ(gcd2(i,j))σ2(gcd(i,j))=min(n,m)∑d=1σ(gcd2(i,j))σ2(gcd(i,j))⋅∑id≤n∑jd≤m[gcd(i,j)=1]μ(id)μ(jd)σ(id)σ(jd)=min(n,m)∑d=1σ(gcd2(i,j))σ2(gcd(i,j))⋅∑id≤n∑jd≤m∑k|gcd(i,j)μ(k)μ(id)μ(jd)σ(id)σ(jd)=min(n,m)∑d=1σ(gcd2(i,j))σ2(gcd(i,j))⋅∑dk≤min(n,m)μ(k)∑idk≤n∑jdk≤mμ(idk)μ(jdk)σ(idk)σ(jdk)=min(n,m)∑T=1f(n,T)f(m,T)g(T)
其中 f(n,m)=∑im≤nμ(im)σ(im),g(n)=∑d|nσ(d2)σ2(d)μ(nd)。
求出所有的 f(n,T),f(m,T),g(T) 都是 O(nlogn) 的(认为 n,m 同阶),于是线性筛出 μ(i),σ(i),σ(i2) 这些东西就可以做了。
然鹅我处处求逆元常数过大(又没法递推)……于是要吸氧才能过……
代码:
1 |
|