2019年8月20日

中国剩余定理详解

摘要: START 中国剩余定理用于求解线性同余方程组: a = a1 (mod n1) a = a2 (mod n2) a = a3 (mod n3) ........ a = ai (mod ni) 任意ni和nj(i != j)互质,问a的值。 我们可以把a写成a=Σai*ci,(ci待求),这个式子 阅读全文

posted @ 2019-08-20 22:09 Caution_X 阅读(517) 评论(0) 推荐(0) 编辑

大素数判定

摘要: START 判断一个数是不是素数可以直接暴力或者是素数筛。 但是对于一个特别大的数,直接用素数筛也有可能TLE。 这个时候就要想点别的办法: 1. 筛选法+试除法 首先用素数筛筛出[2,sqrt(n)+1]的素数,然后用这些素数来判断能不能整除n,如果可以,那么n一定是合数,如果都不行,那么n是素数 阅读全文

posted @ 2019-08-20 21:42 Caution_X 阅读(642) 评论(0) 推荐(0) 编辑

【模板】gcd和exgcd

摘要: 1. gcd: 1 int gcd(int a,int b) 2 { 3 return !b?a:gcd(b,a%b); 4 } exgcd: 1 int exgcd(int a,int b,int& x,int& y) 2 { 3 int d=a; 4 if(b){ 5 d=exgcd(b,a%b 阅读全文

posted @ 2019-08-20 20:41 Caution_X 阅读(137) 评论(0) 推荐(0) 编辑

素数筛(埃氏筛+欧拉筛)

摘要: 素数筛 顾名思义,用来筛选素数。 这里介绍两种素数筛: 1.埃氏筛(埃拉托斯特尼筛法) 1 void ass() 2 { 3 memset(u,true,sizeof(u));//u[i]=true表示i是素数 4 for(int i=2; i<=1100000; i++) 5 { 6 if(u[i 阅读全文

posted @ 2019-08-20 20:36 Caution_X 阅读(186) 评论(0) 推荐(0) 编辑

逆元详解

摘要: START 为什么需要求逆元?显然对于加减乘运算都会满足: (a+b)%p=(a%p+b%p)%p (a-b)%p=(a%p-b%p)%p (a*b)%p=((a%p)*(b%p))%p但是对于除法而言(a/b)%p!=(a%p)/(b%p),这个可以通过举例验证一下或者可以通过(b%p)可以为0但 阅读全文

posted @ 2019-08-20 20:24 Caution_X 阅读(463) 评论(2) 推荐(0) 编辑

导航