码迷,mamicode.com
首页 >  
搜索关键字:筛法    ( 586个结果
数论-质数 poj2689,阶乘分解
//质数筛法 /*Era筛: 复杂度:O(nloglogn)非常接近线性 原理:任何质数x的倍数:2x,3x,...都是合数,优化后只要筛 >=x*x的数即可 */ void primes(int n){ memset(v,0,sizeof v);//合数标记 for(int i=2;iv[i] |... ...
分类:其他好文   时间:2019-01-06 21:54:04    阅读次数:177
Bzoj2721 [Violet]樱花(筛法)
题面 题解 首先化一下式子 $$ \frac 1x+\frac 1y=\frac 1{n!} \Rightarrow \frac {x+y}{xy}=\frac 1{n!} \Rightarrow (x+y)n!=xy \\ \Rightarrow(n!-x)+(n!-y)=(n!)^2 $$ 看到 ...
分类:其他好文   时间:2018-12-27 15:39:31    阅读次数:115
【数学】【数论】素数的线性筛法
写在前面 记录了个人的学习过程,同时方便复习 素数的线性筛法 素数的线性筛法 有时候需要筛出来一张素数表,即1~n范围内的所有素数 一个个枚举判断是否为素数显然太慢 于是经过仔细的研究之后,发现如果存在正整数k(k>2)不是素数,那么它的因子里面一定包含之前的素数 这样的话,开一个boolean数组 ...
分类:其他好文   时间:2018-12-16 18:08:35    阅读次数:120
疯狂LCM
"传送门" 题目要求求: $$\sum_{i=1}^nlcm(i,n)$$ 先转化成gcd处理: $$n\sum_{i=1}^n\frac{i}{gcd(i,j)}$$ 之后老套路 枚举gcd,并且先把d除进去之后用$i$代替$\frac{i}{d}$ $$n \sum_{d|n}i\sum_{i= ...
分类:其他好文   时间:2018-12-15 00:15:23    阅读次数:145
线性(欧拉)筛&欧拉函数
线性筛法 what is 线性筛??就是基于最基本的筛法的优化。 在基础的筛法上,我们发现有的数字会被重复筛,例如6既会被2枚举到也会被3枚举到,必然有重复运算。 我们的做法就是让每一个数的最小因数筛。 $FOR$ $EXAMPLE:$ 有一个数$2 2 3 5$ 有另一个数 $3 3 3 5$ 那 ...
分类:其他好文   时间:2018-12-14 17:13:46    阅读次数:194
『素数(Prime)判定和线性欧拉筛法(The sieve of Euler)』
素数(Prime)及判定 定义 素数又称质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数,否则称为合数。 1既不是素数也不是合数。 判定 如何判定一个数是否是素数呢?显然,我们可以枚举这个数的因数,如果存在除了它本身和1以外的因数,那么这个数就是素数。 在枚举时,有一个很简 ...
分类:其他好文   时间:2018-12-14 12:40:17    阅读次数:189
数论_埃氏筛法(求区间内多少素数)
埃拉托斯特尼(公元前276—公元前194) 埃拉托斯特尼是古希腊著名的数学家、地理学家、天文学家。他先在亚历山大港学习,后又转至雅典。公元前236年,托勒密三世指定他为亚历山大图书馆的图书管理员和馆长。他跟阿基米德是好朋友。埃拉托斯特尼的主要贡献包括: 埃拉托斯特尼筛法:寻找素数的方法。 地理常数测 ...
分类:其他好文   时间:2018-12-08 13:17:08    阅读次数:196
[模板]线性筛素数(欧拉筛法)
用途 $O(n)$处理出n以内所有素数 原理 使用 合数=最大因数(除1和本身外)*最小质因数 的原理来筛,每个数只会被筛一次 对于每个数i,令它是某数的最大因数,然后从小到大地找<=i的素数j,则i*j是合数 直到找到某个j使得$i\%j==0$,因为再往后的话,j'> i的某个因子,我们能交换j ...
分类:其他好文   时间:2018-11-28 22:05:22    阅读次数:221
【OI】已学知识点总结
进制转换 质数 普通判断法 埃氏筛法 欧拉筛法(线性筛法) 欧拉函数 前缀和(容斥原理) 尺取法(数组滚动) 打表 对拍 生成数据 判断数据范围来选择执行算法 快速读入 快速幂 寄存器(register) 前缀++,-- 高精度 模拟 枚举 普通枚举 二进制枚举 二分枚举 二分答案 排序 选择排序 ...
分类:其他好文   时间:2018-11-25 14:42:07    阅读次数:257
【模板】欧拉筛法(线性筛法)
1 int n; 2 int p[MAX_N], cnt; 3 bool b[MAX_N]; 4 5 void Euler() 6 { 7 b[0] = b[1] = 1; 8 for(register int i = 2; i 0, j + k < cnt)]的情况一定会被后面给筛掉 17 } 1... ...
分类:其他好文   时间:2018-11-25 14:31:50    阅读次数:253
586条   上一页 1 ... 9 10 11 12 13 ... 59 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!