BZOJ2301[HAOI2011] Problem b
原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2301
Problem b
Description
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。
Input
第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、d、k
Output
共n行,每行一个整数表示满足要求的数对(x,y)的个数
Sample Input
2
2 5 1 5 1
1 5 1 5 2
Sample Output
14
3
HINT
100%的数据满足:1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000
题解
我们可以很容易就能推出下面的式子:
ans=\sum_{i=1}^a\sum_{j=1}^b[gcd(i,j)=d]
ans=\sum_{k=1}^{min(n,m)}\mu(k)\lfloor\frac{a}{dk}\rfloor\lfloor\frac{b}{dk}\rfloor
如果你觉得不是很容易,右转进入ZAP-Queries。
那么我们已经可以求出1∼a,1∼b1∼a,1∼b1\thicksim a,1\thicksim b的答案了,但题目要求是a∼b,c∼da∼b,c∼da\thicksim b,c\thicksim d,我们可以用简单的容斥来解决这个问题:
直接计算1∼b,1∼d1∼b,1∼d1\thicksim b,1\thicksim d时,我们会多算1∼a−1,1∼d1∼a−1,1∼d1\thicksim a-1,1\thicksim d和1∼c−1,1∼b1∼c−1,1∼b1\thicksim c-1,1\thicksim b这一部分,要将其减掉;同时,我们就多减掉了1∼a−1,1∼b−11∼a−1,1∼b−11\thicksim a-1,1\thicksim b-1,把这一部分加回来,我们就得到了正确答案。
代码
#include<bits/stdc++.h>
#define R register int
#define ll long long
using namespace std;
const int M=5e4+5,N=5e4;
int miu[M],p[M],n;
bool check[M];
void getmiu()
{miu[1]=check[1]=1;R i,j,t;for(i=2;i<=N;++i){if(!check[i])p[++p[0]]=i,miu[i]=-1;for(j=1;j<=p[0];++j){t=i*p[j];if(t>N)break;check[t]=1;if(i%p[j]==0){miu[t]=0;break;}miu[t]=-miu[i];}miu[i]+=miu[i-1];}
}
ll f(int a,int b,int k)
{a/=k,b/=k;if(a>b)swap(a,b);ll ans=0;R l,r;for(l=1;l<=a;l=r+1)r=min(a/(a/l),b/(b/l)),ans+=1ll*(miu[r]-miu[l-1])*(a/l)*(b/l);return ans;
}
void in(){getmiu();scanf("%d",&n);}
void ac(){R a,b,c,d,k,i;for(i=1;i<=n;++i)scanf("%d%d%d%d%d",&a,&b,&c,&d,&k),printf("%lld\n",f(b,d,k)+f(a-1,c-1,k)-f(a-1,d,k)-f(c-1,b,k));}
int main()
{in();ac();return 0;
}
BZOJ2301[HAOI2011] Problem b相关推荐
- BZOJ2301: [HAOI2011]Problem b
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Submit: 6435 Solved: 2986 [Submi ...
- BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Submit: 4032 Solved: 1817 [Submi ...
- BZOJ2301:[HAOI2011]Problem b(莫比乌斯反演,容斥)
Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数 ...
- [bzoj2301][HAOI2011]Problem b
题目大意:给你$a,b,c,d,k(1\leqslant a,b,c,d,k\leqslant 5\times10^4)$,求$\displaystyle\sum\limits_{x=a}^b\dis ...
- bzoj2301: [HAOI2011]Problem b懵逼乌斯反演
属于结果的和好求但是结果不好求的题 (轻易能得到以k的倍数为最大公约数的对数,但是不好直接求k) 所以一波反演结束 其实反演的时候完全没有反演的感觉,就是不停地恒等变形 算是懵逼乌斯反演最简单的例题 ...
- BZOJ2301: [HAOI2011]Problem b(莫比乌斯反演)
Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数 ...
- [bzoj2301] [HAOI2011]Problem b
Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数 ...
- BZOJ 2301 [HAOI2011]Problem b
2301: [HAOI2011]Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函 ...
- [POI2007]ZAP-Queries [HAOI2011]Problem b 莫比乌斯反演
1,[POI2007]ZAP-Queries ---题面--- 题解: 首先列出式子:$$ans = \sum_{i = 1}^{n}\sum_{j = 1}^{m}[gcd(i, j) == d]$ ...
- [HAOI2011]Problem c
链接 P2523 [HAOI2011]Problem c 想法还是很巧妙的. 其实只是问一个先后顺序,因为编号相同的话,那么\(id\)小的就在前面,\(id\)大的就在后面. 所以我们考虑的是到底有 ...
最新文章
- 加密令牌与协议创新时代的到来
- HDU 2189 悼念512汶川大地震遇难同胞——来生一起走
- c语言malloc函数用法_小白对c语言数组的基础总结
- 20211006 线性变换
- struts2校验再提交多条提示信息
- 当我们在谈 .NET Core 跨平台时,我们在谈些什么?--学习笔记
- 循环给对象创建属性名和属性值
- 小米路由器怎么连接无盘服务器,播放器+服务器的方法瞬间玩转小米路由方法图文介绍...
- linux php oauth安装,Linux php 扩展安装 mongo ,redis ,soap,imap,pdo_mysql,oauth
- mysql索引过多为什么会慢_mysql – 为什么索引使这个查询更慢?
- 信息学奥赛一本通(1252:走迷宫)
- Android 性能测试——Memory Monitor 工具
- mysql left join_对比MySQL,教你在Pandas中实现SQL常用操作!
- Rust导出Python/Node.js可用的DLL库
- iftop网卡流量监控软件
- sql取上个月年月_sql 查询本年、本月、本日记录的语句,附SQL日期函数
- 仿照支付宝等——自动获取短信中的验证码
- 如何设计网页排版和样式 - 前端页面设计
- 2750 心系南方灾区
- 数据库SQLite之嵌入式Linux实际网关项目使用初步
热门文章
- 计算机网络技术提纲,计算机网络技术复习提纲
- 使用GoKart对Go代码进行静态安全分析
- Mysql报错(必解决):The user specified as a definer (‘mysql.infoschema‘@‘localhost‘) does not exist
- cv python 画直线_Python进阶之Matplotlib入门(一)
- apache服务上配置https安全与域名请求
- win10 Anaconda3 安装TensorFlow
- spring 的3种常用的注入方式
- Oozie 安装及 examples app 的使用
- Oracle ERP Interface堵住--Request Running too long time,查找Request执行的Sql
- Altium Designer生成网表 导出网表【worldsing笔记】