首先
我声明一下
上一篇博客我写错了
我懒得删了,你就不要再看那一篇了
1°:
逆元
gcd(a,m)=1
a*b=1(mod m)
b=a^(-1) (mod m)
a^(p-1)=1 (mod p)
a与a^(p-2) mod p 下互为逆元
a与a^(φ(m)-1) mod m 互为逆元
2°
线性求逆元
int[i] mod p;
p = k * i + r;
0 = k * i + r ( mod p )
* i ^ ( - 1 ) * r ^ ( - 1 )
0 = k * r ^ ( - 1) + i ^ ( - 1 ) ( mod p )
i ^ ( - 1 ) = - k * r ^ ( - 1 )
i ^ ( - 1 ) = -[ p / i ] * inv [ r ]
3°
Exgcd
给定 a , b
知道 gcd ( a , b ) = g
求 x , y
使 : x * a + y * b = g
1 void exgcd(long long a,long long b,long long &x,long long &y){ 2 if(b==0){ 3 x=1; 4 y=0; 5 return; 6 } 7 exgcd(b,a%b,x,y); 8 long long f=x; 9 x=y; 10 y=f-y*(a/b); 11 }