數學模板合集
阿新 • • 發佈:2018-11-24
1、擴充套件歐幾里得
擴歐,擴充套件gcd,同餘方程,二元一次方程、不定方程(exgcd)
一般形式:
\[ax+by=c\]
\[ax=c\pmod{b}\]
上下兩個方程可互相轉化
考慮對於
\[ax+by=c\]\[bx'+(a \bmod b)y'=c\]
有
\[bx'+(a-\biggl\lfloor\frac a b \biggr\rfloor\times b)y'=c\]\[bx'+ay'-\biggl\lfloor\frac a b \biggr\rfloor\times by'=c\]\[b(x'-\biggl\lfloor\frac a b \biggr\rfloor y')+ay'=c\]
即
\[x=y',y=x'-\biggl\lfloor\frac a b \biggr\rfloor y'\]
例如
\[99x+78y=6\]
程式碼如下
struct Extended_gcd{ inline void exgcd(int a,int b,int c){ if(b==0){ x=c/a,y=0; return ; } exgcd(b,a%b,c); int t=x; x=y; y=t-(a/b)*y; } }E;