http://blog.csdn.net/Clove_unique/article/details/51089272 Key:1、连接平面上某个整点(a,b)到原点的线段上有gcd(a,b)个整点。 2、欧拉函数的性质之一:若(N%a==0 && (N/a)%a==0) 则有:phi(N)=phi( ...
分类:
其他好文 时间:
2017-09-08 00:21:42
阅读次数:
187
看这个题解吧:http://blog.csdn.net/wubaizhe/article/details/77338332 代码里顺便把几个常用的线性筛附上了。 ...
分类:
其他好文 时间:
2017-09-07 21:28:26
阅读次数:
114
关于线性筛法 线性是指O(n)内筛掉所有合数,还有一种方法叫埃氏筛法,我先证明埃氏筛法效率低,也就是会有重复。 证明如下: 埃氏筛法的原理是找到一个素数后,它的1~n倍就会被筛掉,任何一个合数都可以被拆成一个质数*合数的形式,我们对每一个质数对应的可能的(合)数都枚举了,这就保证了所有可能的合数都被 ...
分类:
其他好文 时间:
2017-08-20 22:43:25
阅读次数:
419
注:本文章中大多数定理未证明,一因为太过繁琐,二因为我太菜了不会证。 希望得到证明的就请舍弃这篇吧。 数论中有一个东西非常常见,也非常烦。 这个东西叫“质数” (及其相关知识) 那么这一篇来聊聊与质数有关的话题吧: 质数,筛质数的方法,phi函数,线性筛。 恩先说质数, 质数就是只有1和它本身两个因 ...
分类:
其他好文 时间:
2017-08-20 22:26:01
阅读次数:
212
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6134 题意: 解法: 那么g(n)怎么求,我们尝试打表发现g(n)是有规律的,g(n)=g(n-1)+d(n-1)+1,其中d(i)表示i的因子个数,这个我们是可以通过线性筛O(n)处理出来的,之后再O ...
分类:
其他好文 时间:
2017-08-19 12:52:08
阅读次数:
131
质数(素数):指大于1的所有自然数中,除了1和自身,不能被其它自然数整除的数 合数:比1大,但不是素数的数称为合数,合数除了被1和自身整除,还能被其它数整除 质因数(素因数或质因子):能整除给定正整数的质数,除1以外,两个没有其它共同质因子的正整数称为互质 1和0既非素数又非合数 素数筛法原理:素数 ...
分类:
其他好文 时间:
2017-08-19 11:12:25
阅读次数:
162
给定n个正整数a1,a2,…,an,求 的值(答案模10^9+7)。 Input 第一行一个正整数n。 接下来n行,每行一个正整数,分别为a1,a2,…,an。 Output 仅一行答案。 Sample Input Sample Output Hint 1<=n<=10^5,1<=ai<=10^7。 ...
分类:
编程语言 时间:
2017-08-17 00:36:58
阅读次数:
134
一、埃式筛法 埃式筛法的核心思想是从2到n枚举,当我们找到一个质数时,枚举它所有的倍数,因为这些倍数都不可能是质数。 时间复杂度是O(n log log n) 如果无论质数合数,每次都去找倍数的话,复杂度会退化成O(n|n n) 二、欧拉筛(线性筛) 欧拉筛的核心思想是通过让每个数只会被它的最小的质 ...
分类:
其他好文 时间:
2017-08-14 16:22:20
阅读次数:
157
求GCD 线性筛求[1,n]的质数 1 bool isprime[1000]; 2 int prime[100],tot; 3 void pri(int n) 4 { 5 tot = 0; 6 memset(isprime,true,sizeof(isprime)); 7 int i,j; 8 fo ...
分类:
编程语言 时间:
2017-08-10 10:27:37
阅读次数:
197