数学技巧

  1. gcd(a,b)=gcd(a+b,b)
  2. 方程 ax + by = m 有解的必要条件是 m mod gcd(a,b) = 0
    在这里插入图片描述
  3. 位运算技巧
    在这里插入图片描述
  4. 参考文章:这里

欧几里得距离:两点的直线距离

二维:dis=sqrt( (x1-x2)^2 + (y1-y2)^2 )
三维:dis=sqrt( (x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2 )

曼哈顿距离:两个点在标准坐标系上的绝对轴距总和

dis=abs(x1-x2)+(y1-y2)

切比雪夫距离:各坐标数值差的最大值

dis=max(abs(x1-x2),abs(y1-y2))

  1. 韦达定理 多项式系数与根的关系
  2. 余式定理 是指当一个多项式f(x) 除以一线性多项式(x – a) 的余式是 f(a)
  3. 快速幂,求a^b%mod ,就用快速幂,不要用math头文件里的pow()
// time:O(logN)
// 这里不考虑指数为负数的情况
typedef long long ll;
ll pow(ll a, ll b, ll m){
	ll ans = 1;
	while(b > 0){
		if(b & 1){
			ans = ans * a % m;
		}
		a = a * a % m;
		b >>= 1; 
	} 
	return ans%m;
} 
  1. 慢速乘,求a*b ,比直接相乘快
typedef long long ll;
ll mull(ll a,ll b,ll p)
{
	ll res=0;
	while(b)
	{
		if(b&1)res=(res+a)%p;
		a=(a+a)%p;
		b=b>>1;
	}
	return res;
}
  1. log()是 以e为底
    log2() 以2为底
    log10() 以10为底

  2. 乘法逆元 点击 这里 查看
    若在mod p意义下,对于一个整数a,有a*b≡1(mod p),那么这个整数b即为a的 乘法逆元,同时a也为b的乘法逆元
    一个数有逆元的充分必要条件是gcd(a,p)=1,此时a才有对p的乘法逆元
    求取 (a/b)%p 等同于 求取 a∗(b的逆元)%p

  3. 循环小数转化为分数在这里插入图片描述

  4. 一个线段中的整点个数为gcd(x,y);假设两个端点分别为(x1,y1),(x2,y2),那么线段中整点的个数为 gcd(x2-x1,y2-y1)
    证明:这里

  5. 数字根,这里

  6. 皮克定理 这里
    计算格子多边形面积 S = a + b/2 - 1
    a为格子内部的点,b为边界的点

  7. 大佬博客
    或者这个地址

发布了33 篇原创文章 · 获赞 26 · 访问量 6348

猜你喜欢

转载自blog.csdn.net/qq_41829380/article/details/104847174
今日推荐