原理 基本思想 : 在埃氏法的基础上,让每个合数只被它的最小质因子筛选一次,以达到不重复的目的。 关键: if(i%prime[j]==0)break; 理解: 当 i是prime[j]的倍数时,i = k × prime[j], 如果继续运算 j+1, i × prime[j + 1] = pr ...
转载 2021-09-13 20:04:00
228阅读
2评论
拉线效率高(建议背代码), 时间复杂度接近O(n),常数不大,田野大神说可以忽略。优点还在于可以同时求出phi, 这样效率极高算法导论p553写了一些 在洛谷P1579 哥德巴赫猜想(升级版)用到了 新账号里 那题代码
转载 2017-04-19 21:20:00
63阅读
2评论
1968: [Ahoi2005]COMMON 约数研究 Description Input 只有一行一个整数 N(0 < N < 1000000)。 Output 只有一行输出,为整数M,即f(1)到f(N)的累加和。 Sample Input 3 Sample Output 5 题解 我们知道一个
原创 2021-07-20 14:49:53
86阅读
拉函数: 对正整数n,拉函数是少于或等于n的数中与n互质的数的数目。 POJ 2407.Relatives-拉函数 代码O(sqrt(n)): 拉线性素数 洛谷 P3383 【模板】线性素数-线性素数(素数)基础题贴个板子备忘 代码改了一点东西O(n): 最后传送一下队友的博客:
原创 2021-07-22 16:16:14
200阅读
Leetcode每日一题题目链接: 204. 计数质数难度: 简单解题思路 : 查找小于n的素数的个数,先用法初始化到所有的素数。然后再统计结果。题解:class Solution: def countPrimes(self, n: int) -> int: if n <= 1: return 0 # 法(小于) visit = [0] * n visit[0] = visit[
原创 2021-08-31 13:37:33
159阅读
#include<bits/stdc++.h>using namespace std;#define maxn 200005bool check[max
原创 2023-04-24 21:31:24
55阅读
代码如下,时间复杂度为O(n) int prime[maxn],num=0; int visit[maxn]; //we should initiate all above to 0 void FindPrime() { for (int i = 2; i <= maxn; i++) { if (! ...
转载 2021-07-29 16:19:00
121阅读
2评论
Sum问题分析题意:我们将类似于6=2⋅36=2⋅36 = 2\cdot 3这样的数称为asquare−freeintegerasquar
来源:模板题目描述:用线行筛选素数,将指定范围的素数找出,
原创 2023-03-20 14:54:15
80阅读
线性是一个比较有用的东东, 所以得好好记住辣。。。 对于普通的素数方法, 就就能优化到
原创 2022-09-15 13:01:56
219阅读
注意 if(i%prime[j]==0) 不要写成if(!i%prime[j])
原创 2021-06-05 09:31:07
154阅读
定理: (以下p均为质数) 1. φ(p)=p-1 3. 如果 i mod p ≠ 0 那么 φ(i*p)=φ(i)*φ(p) 2. 如果 i mod p = 0 那么 φ(i*p)=φ(i)*p 证明(其实只要知道结论就好了,证明可以跳过): 1. 因为$p$是质数,所以$1$ 到 $p$的所有数
转载 2018-10-12 18:45:00
189阅读
Problem:找出小于等于n的所有素数的个数。
原创 2023-02-19 09:23:25
59阅读
线性法求拉函数 int primes[N],cnt; //线性质数的primes数组和cnt int phi[N]; //phi表示拉函数 bool st[N]; void get_eulers(int n) { /*1∼N 中与 N 互质的数的个数被称为拉函数,记为 ϕ(N)。*/ ph ...
转载 2021-08-24 00:25:00
778阅读
2评论
拉函数:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。 #include <bits/stdc++.h> using namespace std; const int maxn = 1e6; bool vis[maxn]; int prime[maxn]; int phi[maxn]; void init() { memset(v...
原创 2023-02-14 12:50:46
70阅读
素数法(普通、朴素法、埃式法、法)1.题目2.分析3.代码传统普通朴素法埃式法(线性)4.总结5.更新日志1.题目题目链接题目描述**输入一个自然数
原创 2022-05-10 23:10:37
500阅读
单次 \(\varphi(n)=n\prod_{p|n}(1-\frac{1}{p})\) p不重复取 积性 \[ a,b互质,则\varphi(ab)=\varphi(a)\varphi(b)\\ p为质数,p|n,当p^2|n时,\varphi(n)=\varphi(n/p)p,当p^2\nmi ...
转载 2021-09-10 15:43:00
79阅读
2评论
标题效果:定整N(N <= 1e7),乞讨1<=x,y<=N和Gcd(x,y)素数的数(x,y)有多少.、   思考:推,。 建立gcd(x,y) = p,然后,x / p与y / p互素 问题就转化成了N / p中有多少个数互质,然后累加就能够了. =>对于随意a,b,a <= N / p,b <= N / p,且a与b互质 =>gcd(a,b) ==
转载 2015-10-25 09:33:00
43阅读
2评论
关于线性拉函数的相关证明
原创 2022-10-25 11:56:21
58阅读
从前有一个素数法叫埃拉托斯特尼法,它的思想很简单,把1-n以内素数的整数倍的数字划掉,留下的就全是素数,但是它的复杂度是O(NlglgN),对于大量不友好数据会跪,于是线性晒登场了。 #include <cstring> using namespace std; int prime[110000 ...
转载 2021-10-21 16:20:00
467阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5