写在前面 记录了个人的学习过程,同时方便复习 素数的线性筛法 素数的线性筛法 有时候需要筛出来一张素数表,即1~n范围内的所有素数 一个个枚举判断是否为素数显然太慢 于是经过仔细的研究之后,发现如果存在正整数k(k>2)不是素数,那么它的因子里面一定包含之前的素数 这样的话,开一个boolean数组 ...
分类:
其他好文 时间:
2018-12-16 18:08:35
阅读次数:
120
线性筛法 what is 线性筛??就是基于最基本的筛法的优化。 在基础的筛法上,我们发现有的数字会被重复筛,例如6既会被2枚举到也会被3枚举到,必然有重复运算。 我们的做法就是让每一个数的最小因数筛。 $FOR$ $EXAMPLE:$ 有一个数$2 2 3 5$ 有另一个数 $3 3 3 5$ 那 ...
分类:
其他好文 时间:
2018-12-14 17:13:46
阅读次数:
194
复杂度 n 代码 include using namespace std; bool vis[10000000]; int prime[10000]; int Oulashai(int n){ memset(vis,0,sizeof(vis)); int cnt=0; for(int i=2;i n ...
分类:
其他好文 时间:
2018-12-07 16:45:48
阅读次数:
156
杜教筛模板 杜教筛是用来干蛤的呢? 它可以在非线性时间内求积性函数前缀和。 前置知识 积性函数 积性函数:对于任意互质的整数 $a,b$ 有 $f(ab)=f(a)f(b)$ 则称 $f(x)$ 的数论函数。 完全积性函数:对于任意整数 $a,b$ 有 $f(ab)=f(a)f(b)$ 的数论函数。 ...
分类:
其他好文 时间:
2018-12-01 23:42:09
阅读次数:
279
用途 $O(n)$处理出n以内所有素数 原理 使用 合数=最大因数(除1和本身外)*最小质因数 的原理来筛,每个数只会被筛一次 对于每个数i,令它是某数的最大因数,然后从小到大地找<=i的素数j,则i*j是合数 直到找到某个j使得$i\%j==0$,因为再往后的话,j'> i的某个因子,我们能交换j ...
分类:
其他好文 时间:
2018-11-28 22:05:22
阅读次数:
221
T1 $\sum_{i=1}^N \sum_{j=1}^M [(i,j)=1]$ $f(d)=\sum_{i=1}^N \sum_{j=1}^M [(i,j)=d]$ $g(d)=\sum_{i=1}^N \sum_{i=1}^M [d|(i,j)]=\lfloor \frac{N}{d} \rfl ...
分类:
其他好文 时间:
2018-11-27 22:10:11
阅读次数:
180
进制转换 质数 普通判断法 埃氏筛法 欧拉筛法(线性筛法) 欧拉函数 前缀和(容斥原理) 尺取法(数组滚动) 打表 对拍 生成数据 判断数据范围来选择执行算法 快速读入 快速幂 寄存器(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
$g(x)=\sum\limits_{d|x}f(d) \iff f(x)=\sum\limits_{d|x}\mu(\frac{x}{d}) g(d)$ $g(x)=\sum\limits_{x|d}^nf(d) \iff f(x)=\sum\limits_{x|d}^n\mu(\frac{d}{ ...
分类:
其他好文 时间:
2018-11-20 23:06:18
阅读次数:
204