2nd 2022/5/3-2022/5/4 简单数论学习
Day-1/2:2022/5/3
·1 最大公约数
-
枚举。。。训算法
-
质因数分解。。。是个办法,但大材小用,浪费了算法得来的其他数据,时间较慢
-
欧几里得算法,辗转相除,巧妙消元,时间\(O(\log n)\)
-
二进制算法???
·2 扩展欧几里得
少有此类,但很需要学习
其实是辗转相除换了个方式出现,同样是通过不断缩小元直至特殊解,然后一路推回去
update:2024.10.7
666,666,666
但凡当时静下心来多看了一眼?
以P1082 同余方程为例
求\(ax\equiv 1(mod\space b)\)的一个解
同余不好做,化为\(ax+by=1\)
首先,上式是一个一般式的特殊情况,即\(ax+by=c\)中的\(c=1\)
\(c\)显然是\(\gcd(a,b)\)的倍数,因为\(ax\),\(by\)都是其倍数
所以在这题中,\(\gcd(a,b)=1\),a,b互质,想到辗转相除
辗转相除最后一定会带出一组\(b=0\)的情况,而此时显然\(a=1\),而\(x=1/a(c/a?)\)也就是\(1\)
水飞了,思考如何通过一组已知解构造出一组新解
能发现在\(b=0\)时\(return\)掉后,可以把解回带
于是可以在已知\(b·x_2+(a \mod b)·y_2=c(1)\)的前提下,推出\(ax+by=c(1)\)的解
列得\(ax+by=b·x_2+(a \mod b)·y_2\)
同样的,\(mod\)不好处理,所以化为\(ax+by=b·x_2+(a-\lfloor a/b\rfloor ·b)·y_2\)
因为是求不同的x,y,所以将式子规整为\(ak+bk_2\)的形式
即\(ax+by=a·y_2+b·(x_2-\lfloor a/b\rfloor ·y_2)\)
\(x=y_2\space y=x_2-\lfloor a/b\rfloor ·y_2\)
·3 容斥原理
经常接触,就是减去重复部分,较Easy
·4 欧拉函数
定义即对于一个正整数来说,比它小且和它互质的数的个数,能用欧拉筛法\(O(n)\)
解
·5 筛法:埃氏/欧拉
埃氏简单,即用质数筛去后面肯定不是质数的数
欧拉即埃氏减去重复
(细节:所有数都筛,只用晒质数倍,且只当自己是它的最小质因数才筛它)
·6即·7 欧拉定理
·8 威尔逊定理
给出了判断质数的充分必要条件
·9 逆元
可转换为exgcd
即
给出a、b,求\(ax\equiv 1(mod\space b)\)
可转换为\(ax+by=1\)中,x的最小值
然后exgcd解~
·10+
以后补,现在知识面不足

浙公网安备 33010602011771号