当前位置: 首页 > news >正文

HDU-1695 GCD

题目大意:已知 1 <= x <= b , 1 <= y <= d , 求 gcd ( x , y ) = k 的对数。请注意,(x=5, y=7) 和 (x=7, y=5) 被认为是相同的。

思路:先将 gcd ( x , y ) = k 两边同时除以 k ,得到 gcd ( x / k , y / k ) = 1,这时问题就变成了 1 <= x <= b / k , 1 <= y <= d / k ,x 和 y 互质的对数(保证 x <= y )。

代码如下:

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define endl '\n'
const int N=1e5+5;
int vis[N];
vector<int> v[N];//存每个数的质因子 
void init(){//预处理,将每个数的质因子求出来 for(int i=2;i<=1e5;i+=2) v[i].push_back(2);for(int i=3;i<=1e5;i+=2){if(!vis[i]){for(int j=i;j<=1e5;j+=i){vis[j]=1;v[j].push_back(i);}}}
}
int fun(int n,int m){//找出 1 ~ n 中与 m 不互质的数 (容斥原理)int sum=0;for(int i=1;i<(1<<v[m].size());i++){int cnt=0,num=1;for(int j=0;j<v[m].size();j++){if(i&(1<<j)) cnt++,num*=v[m][j];}if(cnt&1) sum+=n/num;else sum-=n/num;}return sum;
}
signed main(){IOSinit();int _;cin >> _;for(int t=1;t<=_;t++){int a,b,c,d,k,ans=0;cin >> a >> b >> c >> d >> k;if(k==0) cout << "Case " << t << ": 0" << endl;//k=0时要特判 else{b/=k,d/=k;if(b>d) swap(b,d);//保证 b < d  for(int i=1;i<=d;i++){if(i<=b) ans=ans+i-fun(i,i);else ans=ans+b-fun(b,i);}cout << "Case " << t << ": " << ans << endl;}}return 0;
}

http://www.lryc.cn/news/472072.html

相关文章:

  • unity游戏开发之赛车游戏
  • 解决milvus migration 迁移数据到出现数据丢失问题
  • Python Flask 数据库开发
  • 深度学习(七)深度强化学习:融合创新的智能之路(7/10)
  • mac电脑通过 npm 安装 @vue/cli脚手架超时问题;
  • 【52 机器学习 | 基于KNN近邻和随机森林模型对用户转化进行分析与预测】
  • 【Linux】Zookeeper 部署
  • 配置mysql 主主模式 GTID
  • 推荐一款多显示器屏幕亮度调节工具:Twinkle Tray
  • 第十一章 Shiro会话管理和加密
  • DDR4单个DQ仿真实战(一)
  • Android Studio插件版本与Gradle 版本对应关系
  • Uni-App-01
  • Java版本鸿鹄工程项目管理系统源码概述
  • 基于echarts、php、Mysql开发的数据可视化大屏
  • Me-and-My-Girlfriend-1
  • R语言实现GWAS meta分析(1)
  • Kafka-代码示例
  • LLVM - 编译器前端-llvm 基本块、指令、函数 的关系
  • 探索人工智能在自然语言处理中的应用
  • IFC模型文本的含义
  • 构建高效评奖系统:SpringBoot在教育领域的应用
  • 「二叉树进阶题解:构建、遍历与结构转化全解析」
  • 在使用代理IP时,需要注意以下几点:
  • 深入理解Java基础概念的高级应用(1/5)
  • 高可用HA软件
  • 《近似线性可分支持向量机的原理推导》 拉格朗日函数 公式解析
  • 9.指针和字符串string类型
  • 八,Linux基础环境搭建(CentOS7)- 安装Mysql和Hive
  • 海量数据面试题