莫比乌斯反演.
- 转化一下条件,数对 $(a,b)$ 符合要求等价于 $\mu(gcd(a,b))\not=0$ .
- 为了方便,记 $m=\min(A,B)$ , 集合 $S=\lbrace x|\mu(x)\not=0\rbrace$ ,$sum(x)=\frac {x(x+1)} 2$ .
- 则答案 $ans$ 为:
- 到这一步,直接用两个整除分块算,时间复杂度 $O(T\cdot n^{\frac 3 4})$. 然而发现极限数据要跑 $10s+$ .
- 再变一步,将枚举 $x,d$ 变为先枚举 $D=xd$ ,再枚举 $x$.
$$
ans=\sum_{D=1}^{m}D \sum_{x|D} \mu(x)^2\mu(\frac D x)\frac D x \sum_{a=1}^{A/D}\sum_{b=1}^{B/D} ab
$$
- 设三个函数 $f,g,h$ :
- 函数 $g,h$ 显然都是积性函数.而 $f=g*h$ ,也为积性函数.于是可以线性筛预处理 $f$ ,然后对 $D$ 整除分块.
- 时间复杂度优化到 $O(T\cdot \sqrt n)$ .
1 |
|