不知道为什么不想写总结,只是(因为是用别人的权限号交的所以)屯一个代码

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<cmath>
 6 using namespace std;
 7 #define ll long long
 8 const ll inf=(ll)2e9;
 9 ll rd(){ll z=0,mk=1;  char ch=getchar();
10     while(ch<'0'||ch>'9'){if(ch=='-')mk=-1;  ch=getchar();}
11     while(ch>='0'&&ch<='9'){z=(z<<3)+(z<<1)+ch-'0';  ch=getchar();}
12     return z*mk;
13 }
14 void wt(ll x){if(x<0)  putchar('-'),x=-x;
15     int wtp=0;  char wtc[52];
16     while(x)  wtc[++wtp]=(x%10)+'0',x/=10;
17     while(wtp)  putchar(wtc[wtp--]);
18 }
19 int n,m;
20 int miu[11000000],prm[11000000],prp=0;  bool prg[11000000];
21 ll f[11000000],s[11000000];
22 void gtmiu(){
23     memset(prg,0,sizeof(prg));
24     miu[1]=1;
25     for(int i=2;i<=10000000;++i){
26         if(!prg[i])  prm[++prp]=i,miu[i]=-1;
27         for(int j=1;j<=prp && prm[j]*i<=10000000;++j){
28             prg[i*prm[j]]=true;
29             if(!(i%prm[j])){  miu[i*prm[j]]=0;  break;}
30             miu[i*prm[j]]=-miu[i];
31         }
32     }
33     for(int i=1;i<=prp;++i)for(int j=1;j*prm[i]<=10000000;++j)
34         f[j*prm[i]]+=miu[j];
35     for(int i=1;i<=10000000;++i)  s[i]=s[i-1]+f[i];
36 }
37 int main(){
38     //freopen("ddd.in","r",stdin);
39     gtmiu();
40 int T;  cin>>T;  while(T--){
41     n=rd(),m=rd();
42     ll ans=0;
43     if(n>m)  swap(n,m);
44     for(int i=1,j;i<=n;i=j+1){
45         j=min(n/(n/i),m/(m/i));
46         ans+=(s[j]-s[i-1])*(n/i)*(m/i);
47     }
48     wt(ans),putchar('\n');
49     continue;
50 }
51     return 0;
52 }

View Code

转载于:https://www.cnblogs.com/JSL2018/p/6789464.html

【BZOJ2820】ygy的gcd相关推荐

  1. [ bzoj2820] YY的GCD

    [ bzoj2820] YY的GCD Time Limit : 3000 ms Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<= ...

  2. Bzoj-2820 YY的GCD Mobius反演,分块

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2820 题意:多次询问,求1<=x<=N, 1<=y<=M且gcd( ...

  3. bzoj2820: YY的GCD

    题意 给定\(n,m(1 \leqslant n,m \leqslant 10000000)\),求\(1\leqslant x \leqslant n\), \(1 \leqslant y \leq ...

  4. [BZOJ2820]YY的GCD

    题目大意: 对于给定的$n,m(n,m\leq10^7)$,求$为质数\displaystyle\sum_{x=1}^n\sum_{y=1}^m[\gcd(x,y)为质数]$. 思路: 设$p=\gc ...

  5. bzoj2820 [bzoj2820]YY的GCD(线性素数筛+莫比乌斯反演)

    求gcd(i,j)为质数的个数.即 ∑p∑i=1n∑j=1mgcd(i,j)==p \sum\limits_p\sum\limits_{i=1}^n\sum\limits_{j=1}^mgcd(i,j ...

  6. 【莫比乌斯反演】BZOJ2820 YY的GCD

    题面在这里 与这道题类似. 先考虑枚举质数p,答案就是: ∑p∑dμ(d)⌊npd⌋⌊mpd⌋ \sum_p \sum_d \mu(d) \lfloor \frac n {pd} \rfloor \l ...

  7. Mobius反演方法

    <更新提示> 前置知识:建议有一点DirichletDirichletDirichlet卷积的基础,会线性筛求积性函数.本文可能会持续更新. 可以看我以前在博客园的博客. <正文&g ...

  8. GOOD BYE OI

    大米饼正式退役了,OI给我带来很多东西 我会的数学知识基本都在下面了 博客园的评论区问题如果我看到了应该是会尽力回答的... 这也是我作为一个OIer最后一次讲课的讲稿 20190731 多项式乘法 ...

  9. 并不对劲的bzoj2820:p2257:YY的GCD

    题目大意 \(t\)(\(t\leq10^4\))组数据,给定\(n,m\)(\(n,m\leq10^6\))求 \[\sum_{x=1}^{n}\sum_{y=1}^{m}[gcd(x,y)=1]\ ...

最新文章

  1. Zbrush2021写实人物肖像雕刻学习教程
  2. 集合转换Stream流式操作
  3. java版数据结构解迷宫问题_C语言数据结构之迷宫问题
  4. 详解CockroachDB事务处理系统
  5. P7295-[USACO21JAN]Paint by Letters P【平面图欧拉公式】
  6. cannot find output in imported module librosa报错解决
  7. Week06-接口、内部类
  8. 《如何搭建小微企业风控模型》第五节 特征工程(上)
  9. MFC中打开一个获取路径的对话框
  10. carmaker/matlab联合仿真(一) 新建工程,运行自带example
  11. php将日期转为时间戳,php将指定日期转换为时间戳的方法
  12. Chip-seq分析笔记
  13. linux 修改文件类型
  14. 秀米排版一篇文章,简简单单
  15. 回望2022,依然值得仰望星空
  16. 计算机线连接方法,手机和电脑的常用连接方法比较
  17. 基于matlab 非局部均值(NLM)滤波图像去噪
  18. Blender遇到的一些莫名其妙的问题
  19. HDU1273漫步森林
  20. 使用CRM客户关系管理软件有哪些优势?

热门文章

  1. 初识TDD(原理+实例)
  2. Cisco思科三层交换机配置DHCP服务
  3. Java设计模式—备忘录模式
  4. 丢包率 (CAN和以太网)
  5. 学习笔记--Ubuntu优化相关内容
  6. 开发者账号申请+邓白氏号申请(免费)
  7. 基于深度学习的道路交通标志
  8. 云邦互联免费空间使用
  9. Android视频采集实时推送RTP/RTSP/RTMP
  10. 有关PMP考点总结,希望对大家有帮助,有用点个赞哦,内容也会持续更新,大家一起上岸