码迷,mamicode.com
首页 > 其他好文 > 详细

[ bzoj2820] YY的GCD

时间:2019-10-05 16:15:19      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:枚举   prim   分块   mit   min   ora   mil   要求   rac   

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

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

我们要求$\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 )$

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

[ bzoj2820] YY的GCD

标签:枚举   prim   分块   mit   min   ora   mil   要求   rac   

原文地址:https://www.cnblogs.com/Al-Ca/p/11624613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!