题意:x在[a,b]内,y在[c,d]内,求GCD(x,y)=k的个数,题目保证a=c=1。

由于GCD(x,y)=k,则GCD(x/k,y/k)=1。

那么只要求x在[1,b/k]内,y在[1,d/k]内的互质对数,(x,y)与(y,x)是等价的。

剩下的同【HDU】2841 Visible Trees。

 1 #include<cstdio>
 2 #include<vector>
 3 #define MAXN 100010
 4 typedef long long LL;
 5 using namespace std;
 6 vector<int> fac[MAXN];
 7 void Init() {
 8     int i, j;
 9     for (i = 0; i < MAXN; i++)
10         fac[i].clear();
11     for (i = 2; i < MAXN; i++) {
12         if (fac[i].size())
13             continue;
14         fac[i].push_back(i);
15         for (j = 2; i * j < MAXN; j++)
16             fac[i * j].push_back(i);
17     }
18 }
19 int NoPrime(int x, int &k, int t) {
20     int i, res;
21     res = 1;
22     for (i = k = 0; x; x >>= 1, i++) {
23         if (x & 1) {
24             k++;
25             res *= fac[t][i];
26         }
27     }
28     return res;
29 }
30 int Prime(int x, int m) {
31     int i, j, t, res1, res2, tmp;
32     t = (int) fac[x].size();
33     res1 = res2 = 0;
34     for (i = 1; i < (1 << t); i++) {
35         tmp = NoPrime(i, j, x);
36         if (j & 1) {
37             res1 += m / tmp;
38             res2 += x / tmp;
39         } else {
40             res1 -= m / tmp;
41             res2 -= x / tmp;
42         }
43     }
44     return m - res1 - (x - res2);
45 }
46 int main() {
47     int T, ca = 1;
48     int a, b, c, d, i, k;
49     LL ans;
50     Init();
51     scanf("%d", &T);
52     while (T--) {
53         scanf("%d%d%d%d%d", &a, &b, &c, &d, &k);
54         printf("Case %d: ", ca++);
55         if (k == 0 || b < k || d < k)
56             puts("0");
57         else {
58             b /= k, d /= k;
59             if (b > d)
60                 swap(b, d);
61             ans = d;
62             for (i = 2; i <= b; i++)
63                 ans += Prime(i, d);
64             printf("%I64d\n", ans);
65         }
66     }
67     return 0;
68 }

转载于:https://www.cnblogs.com/DrunBee/archive/2012/09/06/2673254.html

【HDU】1695 GCD相关推荐

  1. 【HDU】3441 Rotation

    题意:给出A和C(1<=A,C<=10^9),所有满足B * B * K + 1 = A * A, (K >= 0)的B,构成边长为B的正方形,等角度的围绕在一个小正方形的周围.用C ...

  2. 【HDU】4942 Game on S♂play 线段树

    传送门:[HDU]4942 Game on S♂play 题目分析:今天下午被这道题整死了,因为我的写法导致有的数可能变成负的,但是我们有察觉到,debug了一下午还是在吃饭的时候突然想到这个问题的. ...

  3. 【HDU】5238 Calculator 【中国剩余定理+线段树】

    传送门:[HDU]5238 Calculator 题目分析: 模数可以拆成四个小素数:7,13,17,19. 这样我们可以分别对这几个素数跑答案,最后中国剩余定理搞一下就好.中间我们用线段树,保存每个 ...

  4. 【HDU】5197 DZY Loves Orzing 【FFT启发式合并】

    传送门:[HDU]5197 DZY Loves Orzing 题目分析: 首先申明,我不会dpdp方程= =--这个东西给队友找出来了,然后我就是套这个方程做题的Qrz-- 对于这题,因为n2n^2个 ...

  5. 【HDU】1535 Invitation Cards 最短路

    传送门:[HDU]1535 Invitation Cards 题目分析:题目真难读......其实题目的意思就是让求从编号为1的点到其他所有点的最短路距离之和加上其他所有点到编号为1的点的最短路距离之 ...

  6. 【HDU】4411 Arrest 费用流

    传送门:[HDU]4411 Arrest 题目分析:题目的意思一开始没看懂= =...题意大致为:派出至多K个警队遵守先灭小的再灭老的的原则将N个城市的帮派全端了(要灭编号大的必须要先灭编号小的).且 ...

  7. 【HDU】3271 SNIBB 数位DP

    传送门:[HDU]3271 SNIBB 题目分析:第一问直接求,第二问就二分.水题. 代码如下: #include <cmath> #include <cstdio> #inc ...

  8. 【HDU】5370 Tree Maker 【树dp】

    传送门:[HDU]5370 Tree Maker my  code:my~~code: #include <bits/stdc++.h> using namespace std ;type ...

  9. 【HDU】4859 海岸线 黑白染色+最小割

    传送门:[HDU]4859 题目分析: 最小割的思想真是博大精深! 本题的模型是最小割. 我们需要最大化海岸线的长度,如果相邻两点属性不同才会存在海岸线(海和陆地),所以我们可以将题目转化成最小化不是 ...

最新文章

  1. 根据JSON自动生成select联动
  2. DApp基础设施设计:借助Kubernetes、Docker和Parity实现可靠的以太坊事件跟踪
  3. matlab 表格控件,[转载]matlab读取excel数据并显示在excel(activex控件)中
  4. swift4.0-11 类和结构体
  5. 顺序表链表 LeetCode专项练习 [19]\[24]
  6. ipv6+ssh+java_IPv6的本地联网地址计算方法详解
  7. TCP/IP、Http、Socket的区别以及面试中关于网络协议常问的考点
  8. topcoder srm 686 div1 -3
  9. bzoj 4300: 绝世好题
  10. Interesting Finds: 2008.01.04
  11. 【CART与GBDT】
  12. linux启动报错23修复
  13. 2022,微博稳了吗?
  14. C语言程序设计-班级档案管理系统
  15. php生成其他网页截图,php实现网页截图
  16. 【金猿产品展】北森一体化人才管理云平台:让中国企业拥有世界领先的人才管理能力...
  17. CNS数据链测试模拟平台——POCKET
  18. 2022-2028年中国中医医疗机构行业投资策略探讨及市场规模预测报告
  19. [CodeChef Trips]Children Trips
  20. 大四实习已offer公司

热门文章

  1. java的隐藏函数_java – 隐藏子级数据成员的父成员函数
  2. charles都踩过哪些坑_野路子14年 不如“缠论”1年 收益翻20倍
  3. 倒计时 分秒 小程序 方法_小程序天/小时/分秒倒计时封装
  4. python创建列表副本_Python编程15:Python列表的排序和列表的副本
  5. 广州市php速成培训班,深圳PHP速成培训班
  6. 高性能计算机的基准测试程序包括,QX∕T 148-2020 气象领域高性能计算机系统测试与评估规范(可复制版)(40页)-原创力文档...
  7. php中new与构造函数,php - 在构造函数中使用“ new”关键字 - SO中文参考 - www.soinside.com...
  8. php开发错题集,基于PHP技术数学错题集错系统的设计实现
  9. java重定向post_java实现响应重定向发送post请求操作示例
  10. 部署 Job (第二部分)