题面在这里

与这道题类似。

先考虑枚举质数p,答案就是:

∑p∑dμ(d)⌊npd⌋⌊mpd⌋

\sum_p \sum_d \mu(d) \lfloor \frac n {pd} \rfloor \lfloor \frac m {pd} \rfloor
设 T=pd T=pd,考虑枚举 T T,则有:

∑Tmin{n,m}⌊nT⌋⌊mT⌋∑p|Tμ(Tp)

\sum_T^{min\{ n,m \}} \lfloor \frac n T \rfloor \lfloor \frac m T \rfloor \sum_{p|T} \mu\Big(\frac T p\Big)
如果能够预处理 ∑p|Tμ(Tp) \sum_{p|T} \mu\Big(\frac T p\Big)关于 T T的前缀和,前面的柿子就可以O(n√)O(\sqrt n)求解

其实直接暴枚 p p就好了

因为均摊每个质数是ln(n)ln(n)的,而质数的个数是 nln(n) \frac n {ln(n)}个

所以预处理是 O(n) O(n)的

示例程序:

#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;const int maxn=10000005;
int tst,n,m,p[maxn],mu[maxn],t[maxn];
ll sum[maxn];
bool vis[maxn];
void get_mu(){int n=10000000;mu[1]=1;for (int i=2;i<=n;i++){if (!vis[i]) p[++p[0]]=i,mu[i]=-1;for (int j=1;j<=p[j]&&i*p[j]<=n;j++){vis[i*p[j]]=1;if (i%p[j]==0) {mu[i*p[j]]=0;break;}else mu[i*p[j]]=-mu[i];}}for (int i=1;i<=p[0];i++)for (int j=1;p[i]*j<=n;j++) t[p[i]*j]+=mu[j];for (int i=1;i<=n;i++) sum[i]=sum[i-1]+t[i];
}
ll get(int n,int m){if (n>m) swap(n,m);ll res=0;for (int T=1,lst=0;T<=n;T=lst+1){lst=min(n/(n/T),m/(m/T));res+=(sum[lst]-sum[T-1])*(n/T)*(m/T);}return res;
}
int main(){scanf("%d",&tst);get_mu();while (tst--){scanf("%d%d",&n,&m);printf("%lld\n",get(n,m));}return 0;
}

【莫比乌斯反演】BZOJ2820 YY的GCD相关推荐

  1. [ bzoj2820] YY的GCD

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

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

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

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

  4. bzoj2820: YY的GCD

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

  5. [BZOJ2820]YY的GCD

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

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

    [题目大意] 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对. [思路] 太神了这道题--蒟蒻只能放放题解:戳,明早再过来看看 ...

  7. 【bzoj2820】YY的GCD 莫比乌斯反演

    题目描述 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种 傻×必然不会了,于是 ...

  8. BZOJ 2820 YY的GCD 莫比乌斯反演

    2820: YY的GCD Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y) ...

  9. 洛谷P2257 YY的GCD 莫比乌斯函数反演+线性筛

    洛谷P2257 YY的GCD 标签 莫比乌斯反演 线性筛 前言 这题貌似和莫反没多大关系,就是用到了一个莫比乌斯函数的性质了,其他就是推公式,优化和式. 我的第一道懵逼反演-真的好难好难-而且套路特别 ...

最新文章

  1. 在SQL Server中如何转化长日期形式为短日期格式
  2. Nginx模块开发入门
  3. 第二部分面向对像基础第五章
  4. python利用集合的无重复性_python集合?
  5. 如何找到Fiori Launchpad tile所属的catalog id
  6. _UICreateCGImageFromIOSurface 使用API
  7. 网络拓扑发现原理研究
  8. Velocity - 单例还是非单例
  9. Agisoft Metashape Professional for Mac(三维建模软件)
  10. C语言什么是结构体?初步学习C语言结构体三部曲
  11. 语义表示——神经网络与深度学习
  12. python在虚拟解释器环境中使用pip安装第三方库出现Requirement already satisfied错误
  13. Endnote导入中文文献格式
  14. Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD
  15. C语言操作Excel表格
  16. newifi mini php,NewFi(newifi mini华硕固件)
  17. 抖音扫码跳转QQ群等外链源代码分享
  18. 苹果手机浏览器下拉会闪动的解决办法
  19. ssm+java企业公司产品分销商管理系统
  20. 解决windows10右下脚工具栏图标显示不正常问题

热门文章

  1. 2019最新整理JAVA面试题附答案
  2. 铁甲雄心机器人冠军_中英美三国机器人争霸!《铁甲雄心》冠军花落谁家?
  3. WPF系列教程(二十九):触发器Triggers、MultiTrggers、EventTrigger——属性触发器、多触发器、事件触发器
  4. python文件的第一行 #!/usr/bin/python3 是什么意思?
  5. label中的for属性
  6. 参与赢大奖!阿里云机器学习平台PAI助力开发者激发AIGC潜能
  7. kali操作系统安装
  8. java中结束进程的方法_java关闭Process
  9. JavaSE - 11 网络编程
  10. Eigen GO Ceres