题目描述:

对于给出的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相关推荐

  1. [POI2007]ZAP-Queries [HAOI2011]Problem b 莫比乌斯反演

    1,[POI2007]ZAP-Queries ---题面--- 题解: 首先列出式子:$$ans = \sum_{i = 1}^{n}\sum_{j = 1}^{m}[gcd(i, j) == d]$ ...

  2. BZOJ2301: [HAOI2011]Problem b

    2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MB Submit: 6435  Solved: 2986 [Submi ...

  3. [HAOI2011]Problem c

    链接 P2523 [HAOI2011]Problem c 想法还是很巧妙的. 其实只是问一个先后顺序,因为编号相同的话,那么\(id\)小的就在前面,\(id\)大的就在后面. 所以我们考虑的是到底有 ...

  4. 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)函 ...

  5. BZOJ 2301: [HAOI2011]Problem b

    二次联通门 : BZOJ 2301: [HAOI2011]Problem b /*BZOJ 2301: [HAOI2011]Problem b莫比乌斯反演 + 容斥将k除下来后就变为了一道原题后像求二 ...

  6. 【BZOJ 2298】 2298: [HAOI2011]problem a (DP)

    2298: [HAOI2011]problem a Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 1326  Solved: 637 Descrip ...

  7. [LG P2519][BZOJ2298][HAOI2011]problem a

    [LG P2519][BZOJ2298][HAOI2011]problem a 题目描述 一次考试共有n个人参加 第i个人说:"有ai个人分数比我高,bi个人分数比我低." 问最少 ...

  8. 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 ...

  9. BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】

    2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MB Submit: 4032  Solved: 1817 [Submi ...

  10. bzoj 2302: [HAOI2011]Problem c(DP)

    2302: [HAOI2011]Problem c Time Limit: 30 Sec  Memory Limit: 256 MB Submit: 937  Solved: 509 [Submit] ...

最新文章

  1. 神奇的计算机技术 教案,神奇的笔记本教学设计
  2. HDOJ(HDU) 2502 月之数(进制)
  3. 软件工程 之 画扇面
  4. 补PSP进度(10.28-11.3)
  5. 湖南卫视小年夜春晚-2013湖南卫视小年夜直播【直播视频现场高清完整版____
  6. OpenCASCADE Texture Mapping
  7. alidoing --使用JS实现多语言框架、喜欢的请进、、瓦特平台!
  8. 环洋调研报告-2021年全球MEMS射频开关行业调研及趋势分析报告
  9. css如何放大网页字体大小怎么调整,CSS网页设计时关于字体大小的设计
  10. java导出excel_Java使用poi组件导出Excel格式数据
  11. python def函数调用_Python - def 函数
  12. Delphi开发短信应用-阿里云服务
  13. java 调用弗雷_JAVASE(九)面向对象特性之 : 继承性、方法重写、关键字super、
  14. Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization.
  15. 土壤微生物组——从宏基因组学到宏表型组学
  16. 任务管理器计算机快捷键,win10任务管理快捷键是什么_教你用快捷键打开任务管理器的方法...
  17. 微信分销商城如何保持客户粘性
  18. 选择的串口 _ 不存在或开发板没有连接_PC 和开发板之间传输文件
  19. 运行官方byfn.sh跑通网络
  20. Android 屏幕常亮

热门文章

  1. Spring Cloud 学习资料收集
  2. 求两个数的最大公因数
  3. windows磁盘分区
  4. delphi清理编译过程文件(*.dcu),以及垃圾文件*.~*
  5. OpenGL 帧缓冲区
  6. 给别人电脑永远设置个别人删不掉的管理员用户
  7. 阿里热更新android,阿里最新热更新使用采坑记录
  8. vivado----fpga硬件调试 (三)----mark_debug
  9. 如何彻底解决安装Windows漏洞补丁出现蓝屏或无法启动问题?
  10. 如何才能使用内存小或者显存小的设备训练神经网络