8.2 mx 数论记录
__S08577__
·
·
个人记录
二项式定理
mx没学这个,看了pry的题解,了解了一下。
(x+y)^n=C^0_n x^ny^0+C^1_n x^{n-1}y^1+C^2_n x^{n-2}y^2+\dots+C^{n-1}_n x^{1}y^{n-1}+C^n_n x^{0}y^n
进一步简化:
(x+y)^n= \sum^{n}_{k=0} C^k_n x^{n-k}y^k
Exgcd
用来求解线性同余方程(ax+by=\gcd(a,b))的一组可行解。
设 ax_1+by_1=\gcd(a,b) , bx_2+(a \ \bmod \ b)y_2=\gcd(b,a \bmod b)
\because \gcd(a,b)= \gcd(b,a \bmod b)
\therefore ax_1+by_1=bx_2+(a \ \bmod \ b)y_2
\because a \bmod b=a-b \times \left \lfloor \frac{a}{b} \right \rfloor
\therefore ax_1+by_1=bx_2+(a-b \times \left \lfloor \frac{a}{b} \right \rfloor)y_2
\therefore ax_1+by_1=bx_2+ay_2-b(y_2 \times \left \lfloor \frac{a}{b} \right \rfloor)
\therefore ax_1+by_1=ay_2+b(x_2-y_2 \times \left \lfloor \frac{a}{b} \right \rfloor)
\therefore x1=y2,y1=x_2-y_2 \times \left \lfloor \frac{a}{b} \right \rfloor
代码
int exgcd(int a,int b,int &x,int &y){
if(b==0){
x=1,y=0;
return a;
}
d=exgcd(b,a%b,x,y);
int xx=x;
x=y;
y=xx-(a/b)*y;
return d;
}