P3455 [POI2007]ZAP-Queries

题意:

求满足1≤x≤a,1≤y≤b1\leq x\leq a,1\leq y\leq b1≤x≤a,1≤y≤b,且gcd(x,y)=dgcd(x,y)=dgcd(x,y)=d的二元组(x,y)的数量

题解:

莫比乌斯反演板子

代码:

// Problem: P3455 [POI2007]ZAP-Queries
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P3455
// Memory Limit: 125 MB
// Time Limit: 2000 ms
// Data:2021-08-20 13:18:12
// By Jozky#include <bits/stdc++.h>
#include <unordered_map>
#define debug(a, b) printf("%s = %d\n", a, b);
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> PII;
clock_t startTime, endTime;
//Fe~Jozky
const ll INF_ll= 1e18;
const int INF_int= 0x3f3f3f3f;
void read(){};
template <typename _Tp, typename... _Tps> void read(_Tp& x, _Tps&... Ar)
{x= 0;char c= getchar();bool flag= 0;while (c < '0' || c > '9')flag|= (c == '-'), c= getchar();while (c >= '0' && c <= '9')x= (x << 3) + (x << 1) + (c ^ 48), c= getchar();if (flag)x= -x;read(Ar...);
}
template <typename T> inline void write(T x)
{if (x < 0) {x= ~(x - 1);putchar('-');}if (x > 9)write(x / 10);putchar(x % 10 + '0');
}
void rd_test()
{#ifdef LOCALstartTime= clock();freopen("in.txt", "r", stdin);
#endif
}
void Time_test()
{#ifdef LOCALendTime= clock();printf("\nRun Time:%lfs\n", (double)(endTime - startTime) / CLOCKS_PER_SEC);
#endif
}
const int maxn= 5e4;
int cnt= 0;
int prim[maxn], vis[maxn], mu[maxn];
ll sum[maxn];
void get_mu(int n)
{mu[1]= 1;prim[1]= 1;for (int i= 2; i <= n; i++) {if (!vis[i]) {prim[++cnt]= i;mu[i]= -1;}for (int j= 1; j <= cnt && i * prim[j] <= n; j++) {vis[i * prim[j]]= 1;if (i % prim[j] == 0)break;mu[i * prim[j]]= -mu[i];}}for (int i= 1; i <= n; i++)sum[i]= sum[i - 1] + mu[i];
}
ll solve(ll a, ll b, ll d)
{ll ans= 0;for (ll l= 1, r= 0; l <= a; l= r + 1) {r= min(a / (a / l), b / (b / l));ans+= 1ll * (sum[r] - sum[l - 1]) * (a / l) * (b / l);}return ans;
}
int main()
{//rd_test();get_mu(50000);int t;read(t);while (t--) {ll a, b, d;read(a, b, d);if (a > b)swap(a, b);a/= d;b/= d;printf("%lld\n", solve(a, b, d));}//Time_test();
}

P3455 [POI2007]ZAP-Queries相关推荐

  1. BZOJ 1101: [POI2007]Zap

    题目 1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题: ...

  2. BZOJ 1101: [POI2007]Zap( 莫比乌斯反演 )

    求 answer = ∑ [gcd(x, y) = d] (1 <= x <= a, 1 <= y <= b) . 令a' = a / d, b' = b / d, 化简一下得 ...

  3. [BZOJ1101][POI2007]Zap

    1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2732  Solved: 1164 [Submit][Stat ...

  4. 莫比乌斯函数(bzoj 1101: [POI2007]Zap)

    莫比乌斯反演: http://blog.csdn.net/acdreamers/article/details/8542292 课件:https://wenku.baidu.com/view/fbec ...

  5. BZOJ1101 洛谷3455:[POI2007]ZAP——题解

    https://www.luogu.org/problemnew/show/3455#sub http://www.lydsy.com/JudgeOnline/problem.php?id=1101 ...

  6. bzoj1101 [POI2007]Zap

    Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d.作为FGD的同学 ...

  7. luogu P3455 [POI2007]ZAP-Queries (莫比乌斯反演 + 整除分块)

    整理的算法模板合集: ACM模板 题目传送门 本题中数据为5e4,我们只需要筛一次5e4就行了. 双倍经验的P4450 双亲数中数据达到了1e6,我们直接筛1e6的莫比乌斯函数有点不可取,因为只有一组 ...

  8. Luogu P3455 [POI2007]ZAP-Queries

    由于之前做了Luogu P2257 YY的GCD,这里的做法就十分套路了. 建议先看上面一题的推导,这里的话就略去一些共性的地方了. 还是和之前一样设: \[f(d)=\sum_{i=1}^a \su ...

  9. 洛谷 P3455 [POI2007]ZAP-Queries (莫比乌斯反演)

    题意: 给定a,b,d求gcd(x,y)=d的对数(1<=x<=a,1<=y<=b) 思路:按照套路来先设f(n)为gcd(x,y)=n的对数,g(n)表示为 n | gcd( ...

最新文章

  1. UE中的自动化学习课程
  2. ISME:菌根真菌菌丝分泌物中的果糖作为信号激发解磷细菌活化植酸
  3. Mysql memory表引擎
  4. C++ 学习之旅(11)——类和结构中的static
  5. 他曾是离诺贝尔奖最近的中国人之一!
  6. java项目打jar包的两种情况
  7. python课后题答案第二章_Python编程:从入门到实践——练习题答案(第二章)
  8. Windows下安装Semantic-Segmentation-Editor标注软件
  9. sql:Mysql create view,function,procedure
  10. linux麒麟安装教程,优麒麟使用教程第四期:Linux平台U盘启动盘制作
  11. 阿里巴巴“牛逼”了,申请“行政干预”区块链专利
  12. SLA是什么?SLA光固化3D打印机原理是什么
  13. 项目分享之敲击床头盒控制床头灯的开关
  14. 2022年机动车新规,外地人上京牌不需要居住证啦
  15. 【网络经济与企业管理】选择题,错题
  16. 自己动手爬取免费代理IP
  17. p系统ndows10的功能更新1903,Win10 2019年四月版(Win10 1903)更新功能介绍和下载
  18. JS模板引擎sychelTemplate
  19. tensorflow和Python关系
  20. 第十三章 Delphi开发数据库应用程序概述(二)

热门文章

  1. 拉屎能赚钱?在马桶上月入过万?原来卫生间里还有这么多隐藏福利,超模君都惊了……
  2. 看了《隐秘的角落》才知道,掉头发有多可怕!10个掉头发最快的专业!快看看你中枪了没有!...
  3. 数据这么多,且看R语言怎么处理!
  4. Oracle常用知识总结
  5. python运算符号输入_【Python】【运算符】
  6. 如何在android客户端中做到自动检查数据更新?,UpdateHelper
  7. latex 1图加标题_使用VsCode编译latex心得
  8. java jli.dll_JVM、JRE、JDK之间的区别和联系,你居然还不知道?
  9. python二维列表写入excel_用Python实现合并excel列表
  10. php header会重定向吗,php – 可以依靠header()重定向来结束程序流吗?