
数论
文章平均质量分 55
MMMMMMMW
广告太多,已换博客。
https://www.cnblogs.com/MMMMMMMW/
展开
-
欧几里德算法(又称辗转相除法)求最大公约数,以及最小公倍数
欧几里德算法就是求两数的最大公约数的一种算法。设两数为a和b,则其最大公约数为c = gcd(a,b) = gcd(b,a%b)。证明:设a = k*b + r,则r = a - k*b,且r = a%b。易知,a%c == b%c == 0。r % c == (a - k*b)%c == a%c - b%c*k == 0。所以,b,r的最大公约数是c。显然易得,gcd原创 2018-02-01 15:34:47 · 2401 阅读 · 0 评论 -
线性素数筛选法模板
void Prime(){ memset(tag,0,sizeof(tag)); int cnt=0; tag[0]=tag[1]=1; for(int i = 2; i<N; i++){ if(!tag[i]) prime[cnt++]=i; for(int j=0;j<...原创 2018-06-09 10:59:42 · 290 阅读 · 0 评论 -
拓展欧几里得算法求逆元
前置技能:欧几里得算法,详细可见https://blog.youkuaiyun.com/mmmmmmmw/article/details/79228656此外,可以用费马小定理求逆元,详细可见:https://blog.youkuaiyun.com/MMMMMMMW/article/details/81071927 逆元已知(A/B)%M = (A * 1/B)%M = ( (A % M) * ( (1/...原创 2018-07-16 23:48:29 · 1072 阅读 · 0 评论 -
费马小定理与逆元
费马小定理假设p是质数,a是整数,且a与p互质,那么,a的(p-1)次方除以p的余数恒为1,即a^(p-1) ≡ 1(mod p)。简单表示即if(p is prime number &&gcd(a,p) == 1) pow(a,p-1)%p == 1 (true);同余证法假设p等于质数13,取整数1,2,3,4,5,6,7,8,9,10,11,...原创 2018-07-18 16:10:45 · 522 阅读 · 0 评论 -
欧拉函数
欧拉函数的定义: 在数论中,对于正整数N,少于或等于N ([1,N]),且与N互质的正整数(包括1)的个数,记作φ(n)。 φ函数的值: φ(x)=x(1-1/p(1))(1-1/p(2))(1-1/p(3))(1-1/p(4))…..(1-1/p(n)) 其中p(1),p(2)…p(n)为x的所有质因数;x是正整数; φ(1)=1(唯一和1互质的数,且小于等于1)。注意:每种质因数...原创 2018-07-15 20:04:27 · 335 阅读 · 0 评论 -
素数筛选及区间二次筛选
素数筛选主要是求1---n中有多少个素数。主流的有两种,一种是埃式筛法,一种是线性筛法,其中线性筛法是埃式筛法的升级版,但正常情况下埃式筛法就够用了。然后有种不常用的,就是筛选出区间内的素数,通常这个区间内的值都很大,大到用线性筛也会超时,但区间的范围会相对比较小,这时候就要用区间二次筛选埃式筛法总所周知,一个合数总是由几个素数相乘得到的,换句话说,一个素数的倍数肯定就是合数了。...原创 2018-07-26 16:45:31 · 612 阅读 · 0 评论 -
容斥原理——二进制枚举与dfs
容斥原理对于两个集合,对于三个集合,以此类推即可,上式很好理解的对于容斥原理,可以用二进制枚举,当然dfs也行,这两个复杂度差不多二进制枚举对于一个二进制数,每一位只有1和0两种情况,对应着取与不取举个例子,一共有5件物品,那么最大值就选择(1<<5)-1 = 11111 = 31,如果从00001枚举到11111,也就是1---31,就能把所有情况都枚举出...原创 2018-10-15 11:23:45 · 798 阅读 · 0 评论