[HAOI2011]Problem b
题目描述:
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。
题解:(上图)
然后可以用前缀和维护连续一段莫比乌斯函数的和。
乘上n/k/d * m/k/d就行了。
代码:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define N 50050 #define ll long long bool vis[N]; int pri[N],tot,mu[N]; ll sum[N]; void get_mu() {mu[1]=1;sum[1]=1ll;for(int i=2;i<=50000;i++){if(!vis[i]){pri[++tot]=i;mu[i]=-1;}for(int j=1;j<=tot&&i*pri[j]<=50000;j++){vis[i*pri[j]]=1;if(i%pri[j]==0){mu[i*pri[j]]=0;break;}else{mu[i*pri[j]]=-1*mu[i];}}sum[i]=sum[i-1]+mu[i];} } ll cal(int a,int b) {ll ret = 0;int nxt = 1;for(int i=1;i<=a&&i<=b;i=nxt+1){ // ret+=1ll*mu[i]*(a/i/k)*(b/i/k);nxt = min(min(a,b),min(a/(a/i),(b/(b/i))));ret+=(sum[nxt]-sum[i-1])*(a/i)*(b/i);}return ret; } int n,a,b,c,d,k; int main() {get_mu();scanf("%d",&n);while(n--){scanf("%d%d%d%d%d",&a,&b,&c,&d,&k);printf("%lld\n",cal(b/k,d/k)-cal((a-1)/k,d/k)-cal(b/k,(c-1)/k)+cal((a-1)/k,(c-1)/k));}return 0; }
转载于:https://www.cnblogs.com/LiGuanlin1124/p/9972974.html
[HAOI2011]Problem b相关推荐
- [POI2007]ZAP-Queries [HAOI2011]Problem b 莫比乌斯反演
1,[POI2007]ZAP-Queries ---题面--- 题解: 首先列出式子:$$ans = \sum_{i = 1}^{n}\sum_{j = 1}^{m}[gcd(i, j) == d]$ ...
- BZOJ2301: [HAOI2011]Problem b
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Submit: 6435 Solved: 2986 [Submi ...
- [HAOI2011]Problem c
链接 P2523 [HAOI2011]Problem c 想法还是很巧妙的. 其实只是问一个先后顺序,因为编号相同的话,那么\(id\)小的就在前面,\(id\)大的就在后面. 所以我们考虑的是到底有 ...
- 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)函 ...
- BZOJ 2301: [HAOI2011]Problem b
二次联通门 : BZOJ 2301: [HAOI2011]Problem b /*BZOJ 2301: [HAOI2011]Problem b莫比乌斯反演 + 容斥将k除下来后就变为了一道原题后像求二 ...
- 【BZOJ 2298】 2298: [HAOI2011]problem a (DP)
2298: [HAOI2011]problem a Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1326 Solved: 637 Descrip ...
- [LG P2519][BZOJ2298][HAOI2011]problem a
[LG P2519][BZOJ2298][HAOI2011]problem a 题目描述 一次考试共有n个人参加 第i个人说:"有ai个人分数比我高,bi个人分数比我低." 问最少 ...
- P2522 [HAOI2011]Problem b
P2522 [HAOI2011]Problem b 题意: 对于给出的 n 个询问,每次求有多少个数对 (x,y),满足 a≤x≤b,c≤y≤d,且 gcd(x,y)=k,gcd(x,y) 函数为 x ...
- BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Submit: 4032 Solved: 1817 [Submi ...
- bzoj 2302: [HAOI2011]Problem c(DP)
2302: [HAOI2011]Problem c Time Limit: 30 Sec Memory Limit: 256 MB Submit: 937 Solved: 509 [Submit] ...
最新文章
- 神奇的计算机技术 教案,神奇的笔记本教学设计
- HDOJ(HDU) 2502 月之数(进制)
- 软件工程 之 画扇面
- 补PSP进度(10.28-11.3)
- 湖南卫视小年夜春晚-2013湖南卫视小年夜直播【直播视频现场高清完整版____
- OpenCASCADE Texture Mapping
- alidoing --使用JS实现多语言框架、喜欢的请进、、瓦特平台!
- 环洋调研报告-2021年全球MEMS射频开关行业调研及趋势分析报告
- css如何放大网页字体大小怎么调整,CSS网页设计时关于字体大小的设计
- java导出excel_Java使用poi组件导出Excel格式数据
- python def函数调用_Python - def 函数
- Delphi开发短信应用-阿里云服务
- java 调用弗雷_JAVASE(九)面向对象特性之 : 继承性、方法重写、关键字super、
- Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization.
- 土壤微生物组——从宏基因组学到宏表型组学
- 任务管理器计算机快捷键,win10任务管理快捷键是什么_教你用快捷键打开任务管理器的方法...
- 微信分销商城如何保持客户粘性
- 选择的串口 _ 不存在或开发板没有连接_PC 和开发板之间传输文件
- 运行官方byfn.sh跑通网络
- Android 屏幕常亮