欧拉函数
「已注销」
这个作者很懒,什么都没留下…
展开
-
POJ 2407 Relatives (欧拉函数)
原题链接:http://poj.org/problem?id=2407 题目描述:给你一个数n,让你求 [1,n )中有多少与n 互质 的数,比如 n = 8,那么 1 ,3, 5,7 与 8 互质 ,所以答案是 4 。 思路: 套欧拉函数的公式。Eular函数:设m是正整数,1,2,……. , m中与m互质(素)的数的个数。 定理: pi 皆为m分解出来的素数。AC代码如下:#incl原创 2016-07-27 13:19:14 · 468 阅读 · 0 评论 -
HDU 1286 找新朋友 (欧拉函数 公式题)
思路:套个欧拉函数的公式就能得到N之前有多少个数与N互质。 跟poj 2407 一样的模板题。 给出我之前的题解。 http://blog.csdn.net/wing_wuchen/article/details/52044622AC代码:#include <iostream> #include <cstdio>using namespace std;int Eular(int n){原创 2016-08-23 19:39:27 · 238 阅读 · 0 评论 -
BZOJ 2818 Gcd (欧拉筛 \ 莫比乌斯反演)
题意:给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对.(n <= 1e7)思路:考虑每个素数做出的贡献。假设有一个素数p,那么在区间 [1,n/p][1,n/p] 中互质的两个数 x,yx,y ,我们一定有 gcd(xp,yp)=pgcd(xp,yp) = p ,所以我们预处理出1e7的素数和欧拉函数,都用筛法筛出来就好。 对于每个数,他的欧拉函数 phi原创 2017-08-07 11:04:32 · 279 阅读 · 0 评论 -
BZOJ 2705 Longge的问题 (欧拉函数)
思路:根据n的范围我们发现,就算是线性的扫一遍也不行(1e9的复杂度太高了)。 所以考虑一种logn或者sqrt(n)的方法;我们知道这种题多半是不能按照题意直接做,而是要考虑每个gcd对答案的贡献。 考虑n的因子i,以i为gcd的对答案的贡献即为 gcd(某个数,n)==igcd(某个数,n)==i 的个数乘以i。又因为这道题要算的gcd中有一个是固定值,所以我们可以考虑将之转化为欧拉函数,即原创 2017-08-11 21:27:46 · 270 阅读 · 0 评论