题意:FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a
,y<=b,并且gcd(x,y)=d。作为FGD的同学,FGD希望得到你的帮助。

n组询问,(1<=n<= 50000)(1<=d<=a,b<=50000)

分析:

通过处理μ的前缀和把每段$a/i$的值相等的部分一起算。$n/(n/i)$找到值相等的一段的段末位置。

我当时为什么要用图片上传啊。。算了留着吧。

不行还是得补上:

$\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[gcd(i,j)=d]$

$=\sum\limits_{i=1}^{\lfloor \frac{n}{d}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor}[gcd(i,j)=1]$

$=\sum\limits_{i=1}^{\lfloor \frac{n}{d}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor}
\sum\limits_{p|(gcd(i,j)}\mu(p)$

$=
\sum\limits_{p=1}^{\lfloor \frac{min(n,m)}{d}\rfloor}\mu(p)\sum\limits_{i=1}^{\lfloor \frac{n}{dp}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{m}{dp}\rfloor}$

$=
\sum\limits_{p=1}^{\lfloor \frac{min(n,m)}{d}\rfloor}\mu(p)s(\lfloor \frac{n}{dp}\rfloor)s(\lfloor \frac{m}{dp}\rfloor)$

代码:

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define LL long long
int T,a,b,d;
int miu[50050],prime[50050],vis[50050],cnt,msum[50050];
inline void init()
{
miu[1]=1;
msum[1]=1;
for(int i=2;i<=50000;i++)
{
if(!vis[i])
{
prime[++cnt]=i;
miu[i]=-1;
}
for(int j=1;j<=cnt&&i*prime[j]<=50000;j++)
{
vis[i*prime[j]]=1;
if(i%prime[j]==0)
{
miu[i*prime[j]]=0;
break;
}
miu[i*prime[j]]=-miu[i];
}
msum[i]=msum[i-1]+miu[i];
}
}
int main()
{
init();
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&a,&b,&d);
a=a/d;b=b/d;
if(a>b)swap(a,b);
int lst;
LL ans=0;
for(int i=1;i<=a;i=lst+1)
{
lst=min(a/(a/i),b/(b/i));
ans+=1ll*(msum[lst]-msum[i-1])*(a/i)*(b/i);
}
printf("%lld\n",ans);
}
}

最新文章

  1. Oracle数据库字符集修改
  2. jQuery带遮罩层弹窗实现(附源码)
  3. linux source与 . 命令
  4. gdb 多线程调试
  5. iOS KVC,KVO
  6. IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法
  7. Computer Vision Algorithm Implementations
  8. zznu 1052 前n项和
  9. $this-&gt;success(&#39;注册成功!&#39;);
  10. cocos2d-x核心基础类
  11. Javascript 可同时变大变宽等一系列效果运动框架——逐行分析代码,让你轻松了解运动的原理
  12. ida dump内存脚本
  13. rPithon vs. rPython(转)
  14. javascript面向对象编程笔记
  15. Web Uploader初始化隐藏容器失败及点击上传图片时反应较慢的问题
  16. ldap配置系列三:grafana集成ldap
  17. Gulp 新手使用
  18. Python 常用 代码片段
  19. 参数优化-API
  20. Exception analysis

热门文章

  1. 管理xcode插件
  2. Partitions - Partition Storage Modes and Processing-MOLAP、ROLAP、HOLAP
  3. Vue、AngularJS 双向数据绑定解剖
  4. Redis的安装及学习
  5. Spring框架碰壁日常更新
  6. windows和centos下安装ActiveMQ
  7. Java多线程:线程与进程
  8. 分析DuxCms之AdminController
  9. Apache 、Tomcat、Nginx的区别
  10. 关于dropout的有趣的进化论解释