题目大意:给定\(n,m\),求
\[\sum\limits_{x=1}^{n} \sum\limits_{y=1}^{n} [gcd(x,y)==k] (k∈prime)\]
莫比乌斯反演一般套路:
设\(f(d)\)为\(gcd(x,y)==d\)的个数,\(F(d)\)为\(gcd(x,y)==k(d|k)\)的个数
即:
\[f(d)=\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{m}[gcd(i,j)==d]\]
这一步转化可以参考上一道例题中对于\(f(d)\)的处理
\[F(n)=\sum\limits_{n|d}f(d)=\lfloor\frac{N}{n}\rfloor \lfloor\frac{M}{n}\rfloor\]
根据第二形式的莫比乌斯反演定理:
\[f(n)=\sum\limits_{n|d}\mu(\lfloor\frac{d}{n}\rfloor)F(d)\]
先把这些式子列出来,然后化简原式
\[ret=\sum\limits_{p∈prime} \sum\limits_{i=1}^{n} \sum\limits_{j=1}^{m}[gcd(i,j)==p]\]
\[ret=\sum\limits_{p∈prime} f(p)\]
\[ret=\sum\limits_{p∈prime} \sum\limits_{p|d}\mu(\lfloor\frac{d}{p}\rfloor)F(d)\]
然后枚举因子改为枚举倍数
\[ret=\sum\limits_{p∈prime} \sum\limits_{d=1}^{min(\lfloor\frac{n}{p}\rfloor,\lfloor\frac{m}{p}\rfloor)}\mu(d)F(dp)\]
将\(F(n)\)代入
\[ret=\sum\limits_{p∈prime} \sum\limits_{d=1}^{min(\lfloor\frac{n}{p}\rfloor,\lfloor\frac{m}{p}\rfloor)}\mu(d)\lfloor\frac{n}{dp}\rfloor\lfloor\frac{m}{dp}\rfloor\]
有一种可以降低复杂度的方法:
设\(T=dp\)
\[ret=\sum\limits_{T=1}^{min(n,m)} \sum\limits_{t|T,t∈prime}\mu(\lfloor\frac{T}{t}\rfloor) \lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\]
改变一下顺序
\[ret=\sum\limits_{T=1}^{min(n,m)}\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor(\sum\limits_{t|T,t∈prime}\mu(\lfloor\frac{T}{t}\rfloor))\]
最后面这个\(\sum\)可以用埃氏筛求出来
复杂度\(O(nloglogn+T\sqrt{n})\)