/*将一个正整数分解质因数如90=2x3x3x5*/
#include<stdio.h>
#define L 5
int qualityfun(int intnum);
int main(int argc, char *argv[])
{
int integer, i, j;
i = j = integer = 0;
//int quality[L] = {2,...
分类:
其他好文 时间:
2015-07-31 22:05:40
阅读次数:
118
欧拉函数
欧拉函数φ(n):
(定义)欧拉函数:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n) 。
(通项):φ(x) = x(1 - 1/p1)(1 - 1/p2)(1 - 1/p3)(1 - 1/p4)…..(1 - 1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数(小于等于1)就是1本身...
分类:
其他好文 时间:
2015-07-31 18:27:46
阅读次数:
123
题意:设一个数i的质因数个数为F(i),现给你一个区间[l~r],求max(F[i],F[j]) 数据范围:10^6
分析:
预处理出所有的F[i],O(nlgn),10^6不会超时;然后查询用O(7),查询不能用O(n),因为有多个查询会超时。
区间问题减少查询时间复杂度多半类似一个区间的和用两个前缀和相减的方式,前缀和可以在预处理的时候计算,然后区间查询是用两个前缀和相减就行了。如su...
分类:
其他好文 时间:
2015-07-31 01:31:50
阅读次数:
188
题意:定义一个数K,最小质因数形式为K = a*b*c形式(如12 = 2*2*3),相同只取一个(所以12只能取2,3两个,既F[12]=2)给L,R区间,找出区间内最大的F[x](L
思路:先打素数表,然后枚举1000000内全部数,因为可能值只能为2,3,5,7,11,13,17这7个数,所以arr数组存放每个数对应的值的个数,然后用dp数组来表示下标为i并且小于i的所有数为j值的个数...
分类:
其他好文 时间:
2015-07-29 01:07:36
阅读次数:
202
---恢复内容开始--- T了一版....是因为我找质因数的姿势不对...考虑n的每个因数对答案的贡献. 答案就是 ∑ d * phi(n / d) (d | n) 直接枚举n的因数然后求phi就行了.但是我们可以做的更好. 注意到h(n) =∑ d * phi(n / d) (d | n) 是狄利...
分类:
其他好文 时间:
2015-07-29 00:47:54
阅读次数:
117
分析:一遍遍循环,效率比较低,但可以通过减半和除偶来减少次数,但是依旧不是很理想,数论中有个定论是任意合数都可以由几个质数乘的,但是目前还没想好怎么运用这个定论,所以将就一下。PS:这个数肯定是合数,因为1不是质数,所以不可能是1和本身。 1 #include 2 int main() 3 { 4....
分类:
其他好文 时间:
2015-07-29 00:32:09
阅读次数:
206
题意:求1-n内最大的x/phi(x)通式:φ(x)=x*(1-1/p1)*(1-1/p2)*(1-1/p3)*(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。因此含质因数最多的即为所求,打表求出前n个积...
分类:
其他好文 时间:
2015-07-27 18:42:58
阅读次数:
155
欧拉函数介绍:
欧拉函数,在数论中用于求解 [ 1 , n ] 中与 n 互质数个数 的函数,因为研究者为欧拉,故命名为欧拉函数。
通式:φ(x) = x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。
φ(1) = 1(唯一和1互质的数(小于等于...
分类:
其他好文 时间:
2015-07-25 13:52:14
阅读次数:
127
Eddy's research I
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 7537 Accepted Submission(s): 4579
Problem Description
Eddy's interest is...
分类:
其他好文 时间:
2015-07-22 18:56:24
阅读次数:
136
先介绍欧拉函数及其相关定理吧:1.欧拉函数:对于任意一个数X,将其分解质因数为X=(P1^b1)*(P2^b2)*(P3^b3)......则小于X的与X互质的数的个数N为N = X * (1 - 1 / p1) * (1 - 1 / p2).......显然对于质数p,Euler(p) = p -...
分类:
其他好文 时间:
2015-07-21 01:01:12
阅读次数:
188