数论0.0

知识 完成度
组合数 ??
欧几里得 ??
拓展欧几里得 ??
中国剩余定理 ??
拓展中国剩余定理 ??
乘法逆元 ??
费马小定理 ??
欧拉函数 ??
卢卡斯定理 ??
拓展卢卡斯定理 ??
莫比乌斯反演 ??
卷积 ??
博立叶变换 ??
容斥原理 ??
CatAlan ??
stirling ??
Actoder BBQ Hard ??
  • 组合数

  • 代码

  • 叉乘:两向量(x1, y1) * (x2, y2) = x1y2 - x2y1表示两向量组成的平行四边形的面积;

  • 欧几里得

  • 代码:

int gcd(int a, int b){
	if(!b) return a;
	if(a < b) swap(a, b);
	return gcd(b, a%b);
}
  • 拓展欧几里得
  • 代码
int exgcd(int a, int b, int &x, int &y){
	if(b == 0) {
		x = 1, y = 0; return a;
	}
	int d = exgcd(b, a%b, x, y);
	int z = x; x = y;
	y = z - (a/b) * y;
	return d;
}
//x,y为裴蜀定理的解,返回的值是a,b的gcd。
  • 乘法逆元
  • 代码
//快速幂求逆元
int pow(int a, int b){
	int cnt = 1;
	for(; b; b >>= 1){
		if(b&1) c = c * a % mod;
		a = a * a % mod;
	}
	return c;
}

pow(a, mod - 2);//a在%mod的意义下的逆元

int inv[MAXN];//存逆元的数组;

for(int i = a; i >= 1; ++i){//线性递推求逆元
	inv[i - 1] = inv[i] * i;
}
  • 中国剩余定理
  • 代码
  • 拓展中国剩余定理
  • 代码
  • 乘法逆元
  • 代码
  • 费马小定理
  • 代码
  • 欧拉函数
  • 代码
  • 卢卡斯定理
  • 代码
  • 拓展卢卡斯定理
  • 代码
  • 莫比乌斯反演
  • 代码
  • 卷积
  • 博立叶变换
  • 容斥原理
  • CatAlan
  • 代码
  • stirling
  • 代码
  • Actoder BBQ Hard
  • 代码

你可能感兴趣的:(数论)