HDU 2588 GCD(欧拉函数)
GCD
思路
题目要求,对于给定的n,mn, mn,m要求有多少数∑i=1ngcd(i,n)>=m\sum _{i = 1} ^{n} gcd(i, n) >= m∑i=1ngcd(i,n)>=m
我们可以对这个式子进行化简,通过枚举d=gcd(i,n)d = gcd(i, n)d=gcd(i,n)有
∑d∣n∑i=1ngcd(i,d)==d\sum _{d \mid n} \sum _{i = 1} ^{n} gcd(i, d) == dd∣n∑i=1∑ngcd(i,d)==d
=∑d∣n∑i=1ndgcd(i,d)==1= \sum_{d \mid n} \sum _{i = 1}^{\frac{n}{d}} gcd(i, d) == 1=d∣n∑i=1∑dngcd(i,d)==1
=∑d∣nϕ(nd)= \sum _{d\mid n} \phi(\frac{n}{d})=d∣n∑ϕ(dn)
我们只要在统计答案的时候特判一下ddd就行了。
代码
/*Author : lifehappy
*/
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include <bits/stdc++.h>#define mp make_pair
#define pb push_back
#define endl '\n'using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;const double pi = acos(-1.0);
const double eps = 1e-7;
const int inf = 0x3f3f3f3f;int eular(int x) {int ans = x;for(int i = 2; i * i <= x; i++) {if(x % i == 0) {while(x % i == 0) {x /= i;}ans = ans / i * (i - 1);}}if(x != 1) ans = ans / x * (x - 1);return ans;
}int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int T, t = 1; cin >> T;while(T--) {int n, m, ans = 0;cin >> n >> m;for(int i = 1; i * i <= n; i++) {if(n % i == 0) {if(i >= m) {ans += eular(n / i);}if(i * i != n && n / i >= m) {ans += eular(i);}}}cout << ans << endl;}return 0;
}
HDU 2588 GCD(欧拉函数)相关推荐
- hdu 4983(欧拉函数)
题目大意:给出一组n和k,求解满足公式:gcd(n-a,n)*gcd(n-b,n)=n^k的(a,b)的对数,结果对(1e9+7)取模. 先证明:对于1<=x<=n,有gcd(n-x , ...
- jzoj3509-倒霉的小C【gcd,欧拉函数】
正题 大意 画n条线,每次坐标变换为(x+n,y+(−1)(i+1)∗i)(i=1∼n)(x+n,y+(-1)^{(i+1)}*i) \ \ \ (i=1\sim n)(x+n,y+(−1)(i+1) ...
- [BZOJ2818][P2568]Gcd[欧拉函数]
\(gcd(x,y)=p | p∈P\) \(gcd(x_1\times p,y_1\times p) = p\) \(gcd(x_1,y_1)=1\) 每个素数的贡献是对于\([1,\lfloor\ ...
- HDU 5514 Frogs 欧拉函数
题意: 有\(m(1 \leq m \leq 10^9)\)个石子排成一圈,编号分别为\(0,1,2 \cdots m-1\). 现在在\(0\)号石头上有\(n(1 \leq n \leq 10^4 ...
- hdu (欧拉函数+容斥原理) GCD
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1695 看了别人的方法才会做 参考博客http://blog.csdn.net/shiren_Bod/ar ...
- hdu 4983 Goffi and GCD(欧拉函数)
Problem Description Goffi is doing his math homework and he finds an equality on his text book: gcd( ...
- HDU 1286 找新朋友 (欧拉函数)
找新朋友 http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=1&problemid=8 T ...
- hdu 1286( 欧拉函数 )
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 数学题真的是有点吃不消了... View Code 1 #include<iostream ...
- 中gcd函数_欧拉函数φ(n)的计算及欧拉定理
1 欧拉函数定义 在数论中,对正整数n,欧拉函数φ(n)是小于或等于n的正整数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)或是欧拉总计函数(totient fun ...
最新文章
- 【活动】人工智能产学研生态建设研讨会报名
- nginx、fastCGI、php-fpm关系梳理(转载参考)
- ajax请求后台报没有body_前端常见面试 - 请求篇
- python summary结果提取_Python coverage.summary方法代码示例
- dnf公共频道服务器不稳定已从初始化状态,DNF公共频道跨区列表 组队连不上必看...
- 整数规划matlab实例,整数规划matlab
- java smp_什么是SMP系统
- easyui酷黑风格主题模板组件html
- 吉首大学2019年程序设计竞赛 A-SARS病毒(递推推公式)
- 程序员面试必问:你为什么要离开上一家公司。你会怎么回答?
- 【请直接拿走~】历年IJCAI顶会论文整理/下载(2016-2021)
- w ndows10支持微信吗,windows10系统怎样安装微信客户端
- Java极简角色权限后台管理框架springboot manager
- 终于,百度网盘等来了真正的对手
- 常用oracle数据库查询命令
- python小白从哪来开始-如何看待Python的由来?Python小白如何入门?(附教程)
- 怎么将照片压缩变小一点?超实用的几种方法
- 面试:25匹马,5个赛道,选出前三,最优解
- 【实战】物联网安防监控项目———需求分析
- 【 uniapp 】打包Android的apk(原生APP-云打包),及发布测试
热门文章
- java离职交接文档_财务人员工作交接你知道么?没处理好不止将来风险大还可能违法...
- 高级php平时的工作,【高级PHP开发工作内容|工作职责|高级PHP开发做什么】-看准网...
- python的数值类型_Python的数值类型
- pytorch 加载模型_福利,PyTorch中文版官方教程来啦(附下载)
- python self 值自动改变,在python中对self的理解
- 微型计算机c560,2010广东省计算机等级考试试题 二级C试题最新考试试题库
- epublib java_使用Epublib处理epub文件 | 学步园
- html点击图片弹出大图特效代码,Jquery 点击图片在弹出层显示大图
- python是用来初始化_python的初始化运行了哪些?
- acwing2060. 奶牛选美(bfs)