洛谷 P2522 [HAOI2011]Problem b(莫比乌斯反演+容斥)
来源:互联网 发布:51单片机蓝牙小车程序 编辑:程序博客网 时间:2024/06/11 11:56
题目大意:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。
数据范围:100%的数据满足:1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000
题解
询问可以用容斥来解决,就转换成了那个题了:1<=x<=n,1<=y<=m
和上次那个题差不多,还是推公式。
传送门
预处理莫比乌斯函数前缀和,可以根号处理询问,因为那一坨只有
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cstdlib>#include<cmath>#include<vector>#include<queue>#define ll long longusing namespace std;int mu[50001];int vis[50001];int prime[50001];int cnt;void init(int n){ mu[1]=1; for(int i=2;i<=n;i++){ if(!vis[i]){ prime[++cnt]=i; mu[i]=-1; } for(int j=1;j<=cnt&&i*prime[j]<=n;j++){ int k=i*prime[j]; vis[k]=1; if(i%prime[j]){ mu[k]=-mu[i]; } else{ mu[k]=0; break; } } mu[i]+=mu[i-1]; }}inline ll solve(int n,int m,int k){ n/=k; m/=k; ll ans=0; int lim=min(n,m); for(int i=1,j;i<=lim;i=j+1){ j=min(n/(n/i),m/(m/i)); ans+=(ll)(n/i)*(ll)(m/i)*(ll)(mu[j]-mu[i-1]); } return ans;}int t;int a,b,c,d,k;int main(){ init(50000); scanf("%d",&t); while(t--){ scanf("%d %d %d %d %d",&a,&b,&c,&d,&k); printf("%lld\n",solve(b,d,k)+solve(a-1,c-1,k)-solve(a-1,d,k)-solve(b,c-1,k)); } return 0;}
阅读全文
0 0
- 洛谷 P2522 [HAOI2011]Problem b(莫比乌斯反演+容斥)
- P2522 [HAOI2011]Problem b 莫比乌斯反演+除法优化
- BZOJ 2301: [HAOI2011]Problem b(莫比乌斯反演 + 容斥原理 + 分块优化)
- BZOJ 2301: [HAOI2011]Problem b(莫比乌斯反演,分块,容斥)
- BZOJ 2301 HAOI2011 Problem b 容斥原理+莫比乌斯反演
- BZOJ2301: [HAOI2011]Problem b 莫比乌斯反演+容斥原理
- BZOJ 2301: [HAOI2011]Problem b(容斥原理+莫比乌斯反演)
- BZOJ 2301: [HAOI2011]Problem b 容斥+莫比乌斯反演
- [BZOJ 2301][HAOI2011]Problem b:莫比乌斯反演+容斥
- [莫比乌斯反演+容斥+分块求和] BZOJ2301: [HAOI2011]Problem b
- 2301: [HAOI2011]Problem b 莫比乌斯反演+前缀+容斥原理
- 【容斥+莫比乌斯反演】BZOJ2301 [HAOI2011]Problem b
- BZOJ2301 [HAOI2011]Problem b(莫比乌斯反演)
- [BZOJ2301][HAOI2011]Problem b(莫比乌斯反演)
- [BZOJ2301][HAOI2011]Problem b(莫比乌斯反演)
- bzoj2301 [HAOI2011]Problem b(莫比乌斯反演)
- 【BZOJ2301】【HAOI2011】Problem B(莫比乌斯反演)
- [BZOJ2301][HAOI2011]Problem b(莫比乌斯反演)
- java 三目运算--详解
- JAVA中的反射机制
- JS精确四则运算工具方法
- c#下使用EmguCV操作摄像头和最简单的人脸检测
- 01背包问题
- 洛谷 P2522 [HAOI2011]Problem b(莫比乌斯反演+容斥)
- 网狐棋牌源码架设教程-Inno一键自动搜索打包文件、子文件
- mybatis与spring集成 No.8
- java内部类总结
- js遍历数组时删除指定对象出现问题
- 《UNIX环境高级编程》笔记0--无缓存I/O操作和标准I/O文件操作区别
- Sql中把datetime转换成字符串(CONVERT)的解决
- Linux基本查询命令(一)
- android webview加载html图片自适应手机屏幕大小&点击查看大图