标签:href 数学 总结 https 方程组 扩展 void 就是 spl
标签: 有用的东西~(≧▽≦)/~啦啦啦
阅读体验:https://zybuluo.com/Junlier/note/1291765
PS:掌握这两个就够了
笔者用的最多的(因为最容易打)
当\(p\)为质数时(局限),\(x\)的逆元为\(x^{p-2}\mod p\)
\(exgcd\)本来是用来求 \(ax+by=c\) 的一组特解的
但由于逆元的定义:\(a*x \equiv1(\mod b)\)(\(x\)为\(a\)的逆元)
所以又可以转化成:\(ax+by=1\) 。。。这就是\(exgcd\)可以做的辣
再放一个\(exgcd\)的板子(总打错。。。)
//把c化为1了。。。
void exgcd(int a,int b,int &x,int &y)
{
if(!a){x=0,y=c/b;return;}
else
{
int tx,ty;
exgcd(b%a,a,tx,ty);
x=ty-(b/a)*tx,y=tx;
return;
}
}
用来求解方程组
\[
x\equiv B_1(\mod W_1)
\]\[
x\equiv B_2(\mod W_2)
\]\[……
\]\[
x\equiv B_n(\mod W_n)
\]的唯一解\(x\)的算法(具体看书。。。)
int CRT(int W[],int B[],int n)
{
int tot=1,ret=0;
for(int i=1;i<=n;++i)tot*=W[i];
for(int i=1;i<=n;++i)
{
int x,y,m=n/W[i];
exgcd(m,W[i],x,y);//这个上面有
ret=(ret+x*W[i]*B[i])%mod;
}return ret<0?ret+mod:ret;
}
标签:href 数学 总结 https 方程组 扩展 void 就是 spl
原文地址:https://www.cnblogs.com/cjoierljl/p/9702951.html