洛谷网校:数论(二)(更新ing……)

2020.1.29

数论(二)(持续更新)

1.线性组合

给定整数{x~1~,x~2~,x~3~,...,x~n~}和k

求任意一组整数{a~1~,a~2~,a~3~,...,a~n~}

满足a~1~x~1~+a~2~x~2~+a~3~x~3~+...+a~n~x~n~=k,或返回无解。

解法

设d=gcd(x~1~,x~2~,...,x~n~)显然仅当d|k时有解(k可以看成n组d的和)

若n=1则直接令a~1~= k/x~1~。(只有一个数)

否则用gcd(x~n−1~,x~n~)代替x~n-1~和x~n~,递归构造解;(将两个数合并成一个)

回溯时调用exgcd(x~n−1~,x~n~),求出相应的a~n-1~,a~n~,使a~n-1~x~n-1~+a~n~x~n~=gcd(x~n-1~,x~n~)

用x~n−1~,x~n~的线性组合替代 (x~n−1~, x~n~)。

2.逆元

若ax≡1(mod b),则称x是a关于模b的逆元,常记做a^−1^。(和a的倒数不同!这里指只要符合ax%b=1就可,也就是说ax的值可以是:1,b+1,···,yb+1(y为任意整数))

上式等价于ax+by=1(ax,by异号)

如何求逆元?

等价于解方程ax+by=1

因此逆元不一定存在,存在的充要条件为gcd(a,b)=1(a,b互质)

推论:如果p是质数,且p不整除a(互质),则a模p的逆元存在。

证明[0,b)的范围内,a关于模b的逆元(整数)(若存在)是唯一的。(ax%b=1)

反证法,若a有两个逆元0<x~1~<x~2~<b

即ax~1~≡ax~2~≡1(mod b)(两积同余1)

那么有b|a(x~2~−x~1~)成立(余数抵消b|(ax~2~-ax~1~))

又由于 (a, b) = 1,因此 b|(x2 − x1。 其中 0 < x2 − x1 < b,产生了矛盾。

猜你喜欢

转载自www.cnblogs.com/Wild-Donkey/p/12243765.html
今日推荐