bzoj1101 [POI2007]Zap
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相关推荐
- [BZOJ1101][POI2007]Zap
1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2732 Solved: 1164 [Submit][Stat ...
- BZOJ 1101: [POI2007]Zap
题目 1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题: ...
- BZOJ 1101: [POI2007]Zap( 莫比乌斯反演 )
求 answer = ∑ [gcd(x, y) = d] (1 <= x <= a, 1 <= y <= b) . 令a' = a / d, b' = b / d, 化简一下得 ...
- 莫比乌斯函数(bzoj 1101: [POI2007]Zap)
莫比乌斯反演: http://blog.csdn.net/acdreamers/article/details/8542292 课件:https://wenku.baidu.com/view/fbec ...
- BZOJ1101 洛谷3455:[POI2007]ZAP——题解
https://www.luogu.org/problemnew/show/3455#sub http://www.lydsy.com/JudgeOnline/problem.php?id=1101 ...
- 【bzoj1101】Zap【神奇的∑】
传送门: http://www.lydsy.com/JudgeOnline/problem.php?id=1101 求 ∑ai=1∑bj=1[gcd(i,j)==d] \sum_{i=1}^a\sum ...
- 2019.4.summary
2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...
- 封门村,中国第一鬼村,最恐怖之地
中国第一鬼村:封门村,一把诡异太师椅吓到一群人 去啊 07-09 11:05 中国第一"鬼村"封门村! 沁阳封门村号称中国最恐怖的村庄,特别是其中谣传的那张夺命太师椅,谁坐谁死. ...
- 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 ...
最新文章
- java 中的 viewUtils框架
- 关于purge master logs的一个小实验
- linux下rman自动备份,linux 下rman 自动备份
- DecimalFormat的几种用法!关于字符串的使用
- 昨天的一个披扣的问题处理到很晚没搞定的原因
- what's the python之函数及装饰器
- m()在php中的意思,计算器上的mc m+ m- mr是什么意思?
- MySQL中的主键约束和外键约束
- 带宽与虚拟桌面的考虑
- c语言彩票号码生成器
- Java实现图片无损任意角度旋转
- Wing IDE Pro 6 for Mac(Python开发工具)安装破解图文教程
- think PHP前台模板,thinkphp5(二)前台模板的引入
- python程序设计实践教程张莉_张莉python
- 小白网卡带宽限速神器:wondershaper
- python自动生成ppt_用Python自动化生成倒计时图片
- 抄底利器!如何用Python量化 识别股票双底形态走势!
- 利用Python开发王者荣耀,一路直奔上王者
- Verilog实现---IEEE标准的单精度浮点乘法器
- Rocket的启动流程