数论1:整除与最大公约数

数论1:整除与最大公约数

带余除法与整除

整除符号:a | b (a是b的约数)
b = ka

算术基本的定理:

质因数分解唯一

结论(复杂度计算相关):

素数无限

π(n) :小于等于n的素数个数

limnπ(n)lnnn=1Pn=O(nlogn)i=1n1i=O(logn)1pn1p=O(loglogn)

整除性质:

  • a | c, b | c, (a, b) = 1 , 则 ab | c
  • a | bc , (a, b) = 1, 则 a | c (因为ab互质,所以a因子一定在c里)
  • p | ab, 则 p|a 或 p | b

公约数

gcd: (), lcm: []

结论:[a,b] * (a, b) = a * b

a=p1a1p2a2...pkak,b=p1b1p2b2...pkbk,d=p1d1p2d2...pkdk(a,b)=pimin(ai,bi),[a,b]=pimax(ai,bi)(a,b)[a,b]=a×b

欧几里得算法:

(a, b) = (a - b, b) = (b, a mod b)

(a, b) -> (b, a mod b) -> ….

O (log (min(a, b)))

对于多个数做欧几里得算法的复杂度:n + log (max{ai})

lcm(a, b) = (a / (a, b)) * b //防爆ll

gcd求法二: a,b中偶数的 /= 2,适用大整数

裴蜀定理

一定存在整数解,满足 ax + by = gcd (a, b)

(a, b) | d au + bv = d,存在整数解 u, v

裴蜀的严谨证明见扩欧

扩展欧几里得

系数化为欧几里得,分解a

ax+by=1b(ab+amodb)x+by=1b(abx+y)+(amodb)x=1,x=abx+y,y=x,x=y,y=xaby,bx+(amodb)y=1

ll exgcd(ll a, ll b, ll &x, ll &y) {
    if (b == 0) {
        x = 1;
        y = 0;
        return a;
    }
    ll d = exgcd(b, a % b, y, x);
    y -= (a / b) * x;
    return d;
}

扩欧通解计算

特解:x1,y1

通解(左减右加):

x=x1+b(a,b)t,y=y1a(a,b)t,t

习题

(大致按照难度升序)

裴蜀

【模板】裴蜀定理:https://www.luogu.com.cn/problem/P4549

裴蜀简单推广到多个变量,最小的就是所有数求个gcd

买不到的数目:https://www.luogu.com.cn/problem/P3951

一个不是很严谨的想法:a,b都要拿的时候,最小不能凑成的数目是 a * b,因为要么拿a个b,要么拿b个a,而ab都要拿且互质,所以不可能凑成a * b的大小。a,b可以都不拿,答案就是 a*b - a - b。严谨证明见扩欧

麦香牛块Beef McNuggets:https://www.luogu.com.cn/problem/P2737

Fox And Jumping: https://codeforces.com/problemset/problem/510/D

https://www.luogu.com.cn/problem/P4571

https://www.luogu.com.cn/problem/P2520

扩展欧几里得

两道模板:

http://oj.daimayuan.top/course/12/problem/487

用exgcd求出最小解之后利用通解的公式在限定范围内调节

其实只需调节一次,因为exgcd解出的就是最小解

http://oj.daimayuan.top/course/12/problem/488

ax+by=m,d=gcd(a,b)(),ax+by=d,x1=x0d,y1=y0dx=x1+bt,y=y1at,x0<x<bx1,y10

相关题单

扩欧:https://www.luogu.com.cn/problem/list?tag=242&page=1&orderBy=difficulty&order=asc

整数与除数: https://www.luogu.com.cn/training/216#problems

基础数学问题:https://www.luogu.com.cn/training/117#problems

能力提升综合题单Part6 数学1:https://www.luogu.com.cn/training/9377

posted @   Sakana~  阅读(314)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示