题意:链接

方法:莫比乌斯反演

解析:

这题跟上一篇博客有一点差别,当然我们能够考虑枚举素数这个大暴力。只是当你A掉这道题后发现正解?都将近5s时。就放弃了这个念头。

相同的式子我们能够直接搬过来。p是质数

∑p∑1<=x<=a∑1<=y<=b(gcd(x,y)==p)

∑p∑1<=x<=a/p∑1<=y<=b/p(gcd(x,y)==1)

∑p∑1<=x<=a/p∑1<=y<=b/p∑d|(x,y)μ(d)

∑p∑d=1min(a/p,b/p)μ(d)[apd][bpd]

设pd=k

∑k=1min(a,b)∑p且p|kμ(kp)[apd][bpd]

则设∑p且p|kμ(kp)=F(k)

发现F(k)的取值仅仅与选取的p与k的关系有关

F(k)=μ(pdp1)

当p|d时

①p=p1 F(k)=μ(d)

②p!=p1 F(k)=0

故F(k)=μ(d)

当p不整除d时

①p=p1 F(k)=μ(d)

②p!=p1 F(k)=−F(d)

故F(k)=μ(d)−F(d)

之后的内容和1101一样分块

代码:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define N 10000010
using namespace std;
typedef long long ll;
int tot,t;
int a,b,d;
int prime[N];
bool f[N];
int miu[N];
ll g[N];
void sieve()
{miu[1]=1;for(int i=2;i<=10000000;i++){if(!f[i]){prime[++t]=i;miu[i]=-1;}for(int j=1;j<=t&&i*prime[j]<=10000000;j++){f[i*prime[j]]=1;if(i%prime[j]==0){miu[i*prime[j]]=0;break;}else miu[i*prime[j]]=-miu[i];}}for(int i=1;i<=t;i++){for(int j=1;j*prime[i]<=10000000;j++){g[j*prime[i]]+=miu[j];}}for(int i=1;i<=10000000;i++){g[i]+=g[i-1];}
}
int main()
{sieve();scanf("%d",&tot);for(int i=1;i<=tot;i++){scanf("%d%d",&a,&b);int a1=a,b1=b;int x=min(a1,b1);int pos;ll ans=0;for(int i=1;i<=x;i=pos+1){pos=min((a1/(a1/i)),(b1/(b1/i)));ans+=(g[pos]-g[i-1])*(a1/i)*(b1/i);}printf("%lld\n",ans);}
}

BZOJ 2820 YY的GCD 莫比乌斯反演相关推荐

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

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

  2. bzoj 2820 YY的GCD - 莫比乌斯反演 - 线性筛

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

  3. bzoj 2820: YY的GCD(莫比乌斯反演)

    2820: YY的GCD Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 2111  Solved: 1137 [Submit][Status][Di ...

  4. BZOJ 2820: YY的GCD

    2820: YY的GCD Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 1705  Solved: 908 [Submit][Status][Dis ...

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

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

  6. [洛谷P2257] YY的GCD (莫比乌斯反演)

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

  7. BZOJ 2820 YY的GCD(莫比乌斯反演)

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

  8. YY的GCD 莫比乌斯反演

    ---题面--- 题解: $ans = \sum_{x = 1}^{n}\sum_{y = 1}^{m}\sum_{i = 1}^{k}[gcd(x, y) == p_{i}]$其中k为质数个数 $$ ...

  9. [BZOJ]2820: YY的GCD

    Time Limit: 10 Sec  Memory Limit: 512 MB Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1< ...

最新文章

  1. 【面试 多线程】【第九篇】多线程的问题
  2. 基于matlab的人脸五官边缘检测方法,基于MATLAB的人脸识别系统的设计
  3. mysql查询今天_昨天_7天_近30天_本月_上一月 数据_mysql查询今天、昨天、7天、近30天、本月、上一月 数据...
  4. Spring AOP两种实现机制是什么?
  5. php curl cookie,php中curl获取返回页面的cookie
  6. 年夜饭之 -- 红烧羊肉
  7. 常用作业定义的T-SQL模板.sql
  8. 特殊功能,实现方法!
  9. 豆瓣排名前500的电视剧
  10. 揭秘淘宝平台广告策略,拆解最佳投放实践
  11. 【Review】数据结构线性表,数组算法(串模式匹配克鲁德、螺旋矩阵四墙)
  12. 不能与牛肉一起吃的食物
  13. 游戏打的菜?当然是延迟的锅啦~
  14. 华南理工计算机电路基础试题,2017年华南理工大学计算机电路基础
  15. LUA语言教程 [转]
  16. html5游戏开发_HTML5游戏开发–第9课
  17. Javascript学习历程之表格与表单
  18. 3ds Max 2017
  19. java获取当前时间前一天,前一月,前一年
  20. Openstack基础环境交换机常用配置(CISCO 3750G为例).md

热门文章

  1. 3w最简单led灯电路图_led灯驱动电源电路图大全(六款模拟电路设计原理图详解)...
  2. .NET中书写XML的一种简单方法
  3. 自动驾驶汽车的未来,“锂电池先驱”:需要更强劲的电池
  4. 03、Vue.js---自定义指令
  5. 阿里云异构计算产品家族亮相 覆盖全场景AI和高性能计算需求
  6. mycncart 1.4.0.0 新版本发布
  7. Android Studio调试功能使用总结
  8. 【洛谷】【动态规划/二维背包】P1855 榨取kkksc03
  9. 什么是跨域,什么是同源
  10. SELECT中常用的子查询操作