【SDOI2012】 Longgue的问题
【题目链接】
【算法】
gcd(i,n)是n的约数
不妨设gcd(i,n) = d
考虑枚举d和gcd(i,n) = d有多少个
gcd(i,n) = d
gcd(i/d,n/d) = 1
因为i<=n,所以i/d<=n/d
因此满足gcd(i,n) = d一共有phi(n/d)个
【代码】
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll i,n,ans; template <typename T> inline void read(T &x) {
ll f = ; x = ;
char c = getchar();
for (; !isdigit(c); c = getchar()) { if (c == '-') f = -f; }
for (; isdigit(c); c = getchar()) x = (x << ) + (x << ) + c - '';
x *= f;
}
template <typename T> inline void write(T x) {
if (x < ) { putchar('-'); x = -x; }
if (x > ) write(x/);
putchar(x%+'');
}
template <typename T> inline void writeln(T x) {
write(x);
puts("");
} ll phi(ll x) {
ll i,ret=x;
for (i = ; i <= sqrt(x); i++) {
if (x % i == ) {
while (x % i == ) x /= i;
ret = ret / i * (i - );
}
}
if (x > ) ret = ret / x * (x - );
return ret;
} int main() { read(n);
for (i = ; i <= sqrt(n); i++) {
if (n % i == ) {
ans += phi(n/i) * i;
if (i * i != n) ans += phi(i) * n / i;
}
} writeln(ans); return ; }
【SDOI2012】 Longgue的问题的更多相关文章
- BZOJ 2705: [SDOI2012]Longge的问题 [欧拉函数]
		2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2553 Solved: 1565[Submit][ ... 
- BZOJ 2705: [SDOI2012]Longge的问题
		2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2554 Solved: 1566[Submit][ ... 
- 【BZOJ】【2705】【SDOI2012】Longge的问题
		欧拉函数/狄利克雷卷积/积性函数 2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1275 Solv ... 
- BZOJ 2705: [SDOI2012]Longge的问题 GCD
		2705: [SDOI2012]Longge的问题 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnl ... 
- bzoj 2706: [SDOI2012]棋盘覆盖 Dancing Link
		2706: [SDOI2012]棋盘覆盖 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 255 Solved: 77[Submit][Status] ... 
- bzoj 2705: [SDOI2012]Longge的问题  歐拉函數
		2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1035 Solved: 669[Submit][S ... 
- Bzoj 2705: [SDOI2012]Longge的问题  欧拉函数,数论
		2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1959 Solved: 1229[Submit][ ... 
- BZOJ 2726: [SDOI2012]任务安排( dp + cdq分治 )
		考虑每批任务对后面任务都有贡献, dp(i) = min( dp(j) + F(i) * (T(i) - T(j) + S) ) (i < j <= N) F, T均为后缀和. 与j有关 ... 
- BZOJ 2707: [SDOI2012]走迷宫( tarjan + 高斯消元 )
		数据范围太大不能直接高斯消元, tarjan缩点然后按拓扑逆序对每个强连通分量高斯消元就可以了. E(u) = 1 + Σ E(v) / degree(u) 对拍时发现网上2个程序的INF判断和我不一 ... 
随机推荐
- AC日记——[USACO1.5]数字三角形 Number Triangles 洛谷 P1216
			题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 5 ... 
- Codeforces 486D Valid Sets (树型DP)
			题目链接 Valid Sets 题目要求我们在一棵树上计符合条件的连通块的个数. 满足该连通块内,点的权值极差小于等于d 树的点数满足 n <= 2000 首先我们先不管这个限制条件,也就是先考 ... 
- 洛谷——P2298 Mzc和男家丁的游戏
			P2298 Mzc和男家丁的游戏 题目背景 mzc与djn的第二弹. 题目描述 mzc家很有钱(开玩笑),他家有n个男家丁(做过上一弹的都知道).他把她们召集在了一起,他们决定玩捉迷藏.现在mzc要来 ... 
- BURPSUITE爆破密码
			拿DVWA举例子.环境百度自行搭建. 开启burpsuite 选择temporary project(临时工程) 选择默认配置进入后,访问127.0.0.1:8080 安装证书 将这个intercep ... 
- Free web scraping | Data extraction | Web Crawler | Octoparse, Free web scraping
			Free web scraping | Data extraction | Web Crawler | Octoparse, Free web scraping 人才知了 
- Cocoa开发中, 如何用全局变量
			比如在tabbar的开发中,可以某个页面的数据需要在back到此页面后依然有效. 可以用 appDelegate 这个对象来创建你的全局数据 这个内建的对象,在 APP 启动时产生,在 APP 退出时 ... 
- 上传jar包至maven私服
			1.maven环境变量配置(新建系统变量,编辑Path) 2.修改maven的setting文件 2.1 私服的用户配置 2.2 私服镜像配置 2.3 (我也不知道是啥) <profile> ... 
- Solidworks 不能生成实体,因为这将导致厚度为零的零件怎么办
			如下图所示,我认为我长出一块东西根本不会对其他零件有什么影响. 去掉合并结果之后就好了. 钣金要比方钢高出1mm,这样焊接上去才方便. 
- Java基础 笔记(四)
			泛型: 泛型:通过<数据额类型>来接受一种引用数据类型.作用在编译时.使用检查 加入集合的对象是否属于该类型,从而把执行时的问题转换为编译时异常.提高程序的安全性 避免抛出 ClassCa ... 
- Effective C++ 条款八   别让异常逃离析构函数
			class DBConn //这个class用来管理DBConnction对象 { public: //自己设计一个新的DBConn接口 方法3 void close() { db.close() ... 
