题意:找到与n互质的第 k个数开始一看n是1e6 敲了个暴力结果tle了,后来发现k达到了 1e8所以需要用到欧拉函数。我们设小于n的 ,与n互质的数为 (a1,a2,a3.......a(phi(n)))那么显然,在区间 [ k*n , (k+1)*n ]内的互质数即为 k*n+(a1,a2,a3...
分类:
其他好文 时间:
2014-09-19 15:12:15
阅读次数:
205
题目大意:
给出m个查询,查询出[ l - r] 之间去 这个区间所有的数都互质的数有多少个。
思路分析:
首先我们处理出来每一个位置,左边和右边第一个与之不互质的数的位置。记在pre 和 next下。这个方法用分解质因数就好。
一个区间内的答案,等于这个区间的所有数减去有与之互质数的个数。
现在要统计的就是
1.对于一个给定的查询[l,r] 区间,统计有多少个 i (l
2...
分类:
其他好文 时间:
2014-09-07 01:07:24
阅读次数:
289
http://acdream.info/problem?pid=1114题目大意,给你一个序列a,求出这个序列中互质数的有多少对。其中所有的整数的都小于等于222222。f(d) 为 gcd 恰好为 d 的数的对数, F(d) 为 gcd 为 d 的倍数的对数, μ(d) 表示莫比乌斯函数F(d) ...
分类:
其他好文 时间:
2014-08-14 23:12:16
阅读次数:
322
http://poj.org/problem?id=2478此题只是用简单的欧拉函数求每一个数的互质数的值会超时,因为要求很多数据的欧拉函数值,所以选用欧拉函数打表法。PS:因为最后得到的结果会很大,所以结果数据类型不要用int,改为long long就没问题了#include #include u...
分类:
其他好文 时间:
2014-07-23 16:48:41
阅读次数:
158
1 /** 2 大意: 给定整数N,1 gcd(x,y/2) = 1; 8
就是求比y/2小的所有与y/2 互质数的个数。。。y取值为2,4,6,8,10.。。。 9 所以siga(gcd(x,2)=2 + gcd(x,4) =2 +
gcd( x,6) =2 + 。。。)= 10 ----->s....
分类:
其他好文 时间:
2014-05-13 22:38:58
阅读次数:
266
C:快速求N以内因数和,N以内互质数的和。容斥版: 1 #include 2 #include 3
#include 4 #define maxn 1100000 5 #define LL long long 6 //N以内gcd(i,N)==1的i的和 7
using name...
分类:
其他好文 时间:
2014-04-29 17:08:17
阅读次数:
470