2nd 2022/5/3-2022/5/4 简单数论学习

Day-1/2:2022/5/3

·1 最大公约数
  1. 枚举。。。训算法

  2. 质因数分解。。。是个办法,但大材小用,浪费了算法得来的其他数据,时间较慢

  3. 欧几里得算法,辗转相除,巧妙消元,时间\(O(\log n)\)

  4. 二进制算法???

·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 欧拉定理

\[a^{\varphi(n)}\equiv1(mod\space p) \]

·8 威尔逊定理

给出了判断质数的充分必要条件

\[(p-1)!\equiv1(mod\space p) \]

·9 逆元

可转换为exgcd

给出a、b,求\(ax\equiv 1(mod\space b)\)

可转换为\(ax+by=1\)中,x的最小值

然后exgcd解~

·10+

以后补,现在知识面不足

posted @ 2022-09-23 19:09  Far_delivery  阅读(41)  评论(0)    收藏  举报