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

Input
第一行包含一个正整数n,表示一共有n组询问。(1<=n<= 50000)接下来n行,每行表示一个询问,每行三个正整数,分别为a,b,d。(1<=d<=a,b<=50000)

Output
对于每组询问,输出到输出文件zap.out一个正整数,表示满足条件的整数对数。

Sample Input
2
4 5 2
6 4 3

Sample Output
3
2

问题转化为求mu函数
这道题要用到玄学的分块

这里写代码片
#include<cstdio>
#include<cstring>
#include<iostream>
#define ll long longusing namespace std;const int N=1000001;
int n,m,d,T,tot=0;
ll mu[N],sshu[N];
bool no[N];void make()
{int i,j;mu[1]=1;for (i=2;i<=N;i++){if (!no[i]){sshu[++tot]=i;mu[sshu[tot]]=-1;   //是素数 break;}for (j=1;j<=tot&&sshu[j]*i<=N;j++){no[i*sshu[j]]=1;  //不是素数 if (i%sshu[j]==0){mu[i*sshu[j]]=0;  //i里也有一个sshu[j],相当于有一个sshu[j]^2,mu=0 break;}mu[i*sshu[j]]=-mu[i];  //积性函数 }}for (i=1;i<=N;i++) mu[i]+=mu[i-1];
}void work(int n,int m,int d)  //分块
{int i,j;n/=d; m/=d;int last;ll ans=0;for (i=1;i<=min(n,m);i=last+1){last=min(n/(n/i),m/(m/i));  //玄学 ans+=(mu[last]-mu[i-1])*(n/i)*(m/i);}printf("%lld",ans);
}int main()
{scanf("%d",&T);make();while (T--){scanf("%d%d%d",&n,&m,&d);work(n,m,d);}return 0;
}

转载于:https://www.cnblogs.com/wutongtong3117/p/7673503.html

bzoj1101 [POI2007]Zap相关推荐

  1. [BZOJ1101][POI2007]Zap

    1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2732  Solved: 1164 [Submit][Stat ...

  2. BZOJ 1101: [POI2007]Zap

    题目 1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题: ...

  3. BZOJ 1101: [POI2007]Zap( 莫比乌斯反演 )

    求 answer = ∑ [gcd(x, y) = d] (1 <= x <= a, 1 <= y <= b) . 令a' = a / d, b' = b / d, 化简一下得 ...

  4. 莫比乌斯函数(bzoj 1101: [POI2007]Zap)

    莫比乌斯反演: http://blog.csdn.net/acdreamers/article/details/8542292 课件:https://wenku.baidu.com/view/fbec ...

  5. BZOJ1101 洛谷3455:[POI2007]ZAP——题解

    https://www.luogu.org/problemnew/show/3455#sub http://www.lydsy.com/JudgeOnline/problem.php?id=1101 ...

  6. 【bzoj1101】Zap【神奇的∑】

    传送门: http://www.lydsy.com/JudgeOnline/problem.php?id=1101 求 ∑ai=1∑bj=1[gcd(i,j)==d] \sum_{i=1}^a\sum ...

  7. 2019.4.summary

    2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...

  8. 封门村,中国第一鬼村,最恐怖之地

    中国第一鬼村:封门村,一把诡异太师椅吓到一群人 去啊 07-09 11:05 中国第一"鬼村"封门村! 沁阳封门村号称中国最恐怖的村庄,特别是其中谣传的那张夺命太师椅,谁坐谁死. ...

  9. BZOJ 1101([POI2007]Zap-满足x=ay=bgcd(x,y)=d的数对个数)

    1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1646  Solved: 577 [Submit][Statu ...

最新文章

  1. java 中的 viewUtils框架
  2. 关于purge master logs的一个小实验
  3. linux下rman自动备份,linux 下rman 自动备份
  4. DecimalFormat的几种用法!关于字符串的使用
  5. 昨天的一个披扣的问题处理到很晚没搞定的原因
  6. what's the python之函数及装饰器
  7. m()在php中的意思,计算器上的mc m+ m- mr是什么意思?
  8. MySQL中的主键约束和外键约束
  9. 带宽与虚拟桌面的考虑
  10. c语言彩票号码生成器
  11. Java实现图片无损任意角度旋转
  12. Wing IDE Pro 6 for Mac(Python开发工具)安装破解图文教程
  13. think PHP前台模板,thinkphp5(二)前台模板的引入
  14. python程序设计实践教程张莉_张莉python
  15. 小白网卡带宽限速神器:wondershaper
  16. python自动生成ppt_用Python自动化生成倒计时图片
  17. 抄底利器!如何用Python量化 识别股票双底形态走势!
  18. 利用Python开发王者荣耀,一路直奔上王者
  19. Verilog实现---IEEE标准的单精度浮点乘法器
  20. Rocket的启动流程

热门文章

  1. 问题百钱买百鸡的随手笔记
  2. 「双焦面」技术升级,华阳突破AR-HUD大规模量产难题
  3. SDL Trados 2021 最新版本的下载地址 (2021年12月更新)
  4. 南非世界杯的一些感想
  5. Ubuntu 14.04 64位版安装 QQ国际版实测可用
  6. MultipartFile上传图片
  7. 工业互联网WMS系统源码
  8. 机器人视觉识别系统研究
  9. Fowler-Noll-Vo hash算法(FNV)---学习笔记
  10. 利用驱动页---批量输出宗地图