[ bzoj2820] YY的GCD

算是反演的板子题了吧……

然而我刚学反演所以还是写一写题解吧。

我们要求$\sum \limits _{x=1}^{N} \sum \limits _{y=1}^{M} \left [ gcd(x,y)\in prime \right ]$

枚举质数:$\sum \limits _{g\in prime} \sum \limits _{x=1}^{\left \lfloor \frac{N}{g} \right \rfloor} \sum \limits _{y=1}^{\left \lfloor \frac{M}{g} \right \rfloor} \left [ gcd(x,y)=1 \right ]$

反演得原式=$\sum \limits _{g\in prime} \sum \limits _{x=1}^{\left \lfloor \frac{N}{g} \right \rfloor} \sum \limits _{y=1}^{\left \lfloor \frac{M}{g} \right \rfloor} \sum \limits _{t \mid gcd(x,y)} u(t)$

将最后一个求和提前得原式=$\sum \limits _{g\in prime} \sum \limits _{t=1}^{min\left ( \left \lfloor \frac{N}{g} \right \rfloor,\left \lfloor \frac{M}{g} \right \rfloor \right )} u(t) \sum \limits _{x=1}^{\left \lfloor \frac{N}{g*t} \right \rfloor} \sum \limits _{y=1}^{\left \lfloor \frac{M}{g*t} \right \rfloor} 1$

我自己推到这里就颓题解了

令T=g*t,得$\sum \limits _{T=1}^{min(n,m)} \left ( \left \lfloor \frac{N}{T} \right \rfloor \left \lfloor \frac{M}{T} \right \rfloor * \sum \limits _{t\mid T,t\in prime} u(\frac{T}{t})\right )$

后面的部分可以用一个类似埃筛的东西预处理,前面的对于每次询问整除分块就行了。

猜你喜欢

转载自www.cnblogs.com/Al-Ca/p/11624613.html