正睿金华Day6数论&杂题选讲


<前言>

好久没写博客了,从Day5开始,那么我就从Day6开始补吧。

等等让我找找day6讲什么的、。。。

偶,是任轩笛讲的,上午讲数论和数论函数,下午杂题选讲。


<正文>

质因数

一开始讲的是质因数的素性测试、质因子分解之类的,听着还挺正常。讲到线性筛的时候感觉还行,就去上了个厕所回来。

  • 素性测试:

    • 试除法,配合质数筛法可以O(n)O(\sqrt n)O(n)解决

      这个只要筛出n\sqrt nn之内的素数。然后一直试除,能除就除,只要能出就不是素数

    • Miller-Rabin素性测试,O(log n)O(log\ n)O(log n)完成但可能错误。

      这个我没听啊,但大致讲一下吧。

      • 基本原理是费马小定理:若 p 是质数,a, p 互质,则ap−1≡1(&VeryThinSpace;mod&VeryThinSpace; p)a^{p-1} \equiv 1(\bmod\ p)ap11(mod p)

      • 于是对于某个 p,若能找到与它互质的 a 使得ap−1≠1(mod p)a^{p-1} \neq 1(mod\ p)ap1̸=1(mod p),则p不是质数。

      • 然而有一些合数 p,满足所有与它互质的 a 都有ap−1≡1(&VeryThinSpace;mod&VeryThinSpace; p)a^{p-1} \equiv 1(\bmod\ p)ap11(mod p),这种数称为 Carmichael 数(如 561 = 3 ∗ 11 ∗ 17),这些数是用上面的方法检验不出来的。

      • 所以还需要奇素数判定。对于奇素数 p,(ap−12+1)(ap−12−1)≡0 (&VeryThinSpace;mod&VeryThinSpace; p)\left(a^{\frac{p-1}{2}}+1\right)\left(a^{\frac{p-1}{2}}-1\right) \equiv 0\ (\bmod \ p)(a2p1+1)(a2p11)0 (mod p),由于FpF_pFp是整环,所以 ap−12≡1a^{\frac{p-1}{2}} \equiv 1a2p11p−1p-1p1.

      • 如果p−12\frac{p-1}{2}2p1还是偶数则可以继续往下检验。

    • 印度人的AKS就不说了,是保证正确的log n算法:)

  • 质因数分解:

    • 试除法:能除就除,不能除就加除数,直到大于原数。f复杂度就算用线性筛优化寻找素数,也是O(n)O(\sqrt n)O(n),太慢了。

    • Pollard’s Rho算法,期望复杂度O(n4log⁡n)O(\sqrt[4]{n} \log n)O(4nlogn)

      • 假如要分解一个数 n,首先进行素性测试,是素数直接返回。

      • 否则就要生成一些随机的xix_ixi,去求gcd(∣xi−xj∣,n)gcd(|x_i − x_j|, n)gcd(xixj,n),如果这个∈(1,n)∈ (1, n)(1,n) 则找到了nnn的一个因子,递归分解。

      • 一个挺靠谱的随机方法就是x←x2+cx \leftarrow x^{2}+cxx2+c,c为随机数。

      • 这样随机出来的 x 可能会进入循环,假如进入循环了我们还没找到因子,就重新随个 x 和 c,重新做。

      • 如何判定是否进入环中:

        • 可以证明x←x2+cx ← x^2 + cxx2+c,形成的一定是一个 ρ 形结构,从一头进入循环就出不来了。我们可以采取标记的方法

        • 每次当 i 为 2 的幂次的时候就令y←xiy ← x_iyxi,如果某时刻xi=yx_i = yxi=y
          了则说明已经在环上绕了一圈了。
          即:看 x(2,4] 是否 = x2,看 x(4,8] 是否 = x4,看 x(8,16] 是否
          = x8……

          这样“浪费”的步数仅仅是 O( 环长 ) 级别的。


数论

老师的ppt足够详细,但是我还是有不明白。

但就着重讲几个我会的吧:

欧几里得算法

在求两数gcd得时候,我们用的多是辗转相除法或者辗转相减法。欧几里得算法就是辗转相除法了。

  • 如果x∣a,x∣bx|a,x|bxa,xb,那么x∣(a−b)(a&gt;b)x|(a-b)(a&gt;b)x(ab)(a>b),所以gcd(a,b)=gcd(a,a%b).这样不断转换直到a%b变成零,此时a就是gcd了。、

扩展欧几里得:

已知 a, b,求出 x, y 满足 ax + by = gcd(a, b)。

在欧几里德算法中递归地求,若已有 b = 0,则 gcd = a,令x = 1, y = 0。

否则求出x‘, y′满足
bx′+(a−a/b∗b)∗y=gcd(b,a%b)=gcd(a,b)b x^{\prime}+(a-a / b * b) * y=g c d(b, a \% b)=g c d(a, b)bx+(aa/bb)y=gcd(b,a%b)=gcd(a,b)

于是:
a∗y+b∗(x−a/b∗y)=gcd(a,b)a * y+b *(x-a / b * y)=g c d(a, b)ay+b(xa/by)=gcd(a,b)

,x1=y2;y1=x2−a/b∗y2;,x1=y2; y1=x2-a/b*y2;x1=y2;y1=x2a/by2;然后对x1,y1做,递归解决,回溯时实行逆运算,最后找到最小解。

其实扩欧我们老早学过了,不过忘得差不多了,这次讲的时候听不进去,已经被任轩笛的骚操作秀到了。

类欧几里得:

额,抱歉,这个是真的挂了。在这个暑假之前我根本不知道有这个玩意。先是在hl集训中出现,然后在这里又讲了,可惜我完全看不懂公式啊。

solve⁡(n,A,B,C)=∑i=1n⌊Ai+BC⌋\operatorname{solve}(n, A, B, C)=\sum_{i=1}^{n}\left\lfloor\frac{A i+B}{C}\right\rfloorsolve(n,A,B,C)=i=1nCAi+B

这是我全程看得懂的一个公式(也就是定义)

中国剩余定理

有 n 个方程 x ≡ ai (mod pi),pi 两两互质,求 x。

mb题 养猪

  • wi=∏j≠ipjw_{i}=\prod_{j \neq i} p_{j}wi=j̸=ipj,则答案≡∑i=1nai∗wi∗inv(wi,pi)\equiv \sum_{i=1}^{n} a_{i} * w_{i} * i n v\left(w_{i}, p_{i}\right)i=1naiwiinv(wi,pi)

inv为逆元

已知x≡a1(&VeryThinSpace;mod&VeryThinSpace;p1),x≡a2(&VeryThinSpace;mod&VeryThinSpace;p2)x \equiv a_{1}\left(\bmod p_{1}\right), x \equiv a_{2}\left(\bmod p_{2}\right)xa1(modp1),xa2(modp2),若d=gcd⁡(p1,p2)d=\operatorname{gcd}\left(p_{1}, p_{2}\right)d=gcd(p1,p2)
a1≡a2(&VeryThinSpace;mod&VeryThinSpace;d)a_{1} \equiv a_{2}(\bmod d)a1a2(modd)成立

所以答案可以表示为w∗d+(a1&VeryThinSpace;mod&VeryThinSpace;d)w * d+\left(a_{1} \bmod d\right)wd+(a1modd)

求得:

w≡(a1/d)(&VeryThinSpace;mod&VeryThinSpace;p1/d),w≡(a2/d)(&VeryThinSpace;mod&VeryThinSpace;p2/d)w \equiv\left(a_{1} / d\right)\left(\bmod p_{1} / d\right), w \equiv\left(a_{2} / d\right)\left(\bmod p_{2} / d\right)w(a1/d)(modp1/d),w(a2/d)(modp2/d)

每次把两个方程合并成一个模数是它们 lcm 的方程

费马小定理

时间不多长话短说:

费马小定理:p 是质数,则 ap≡a(&VeryThinSpace;mod&VeryThinSpace;p)a^{p} \equiv a(\bmod p)apa(modp)

欧拉定理:

p>1,a,p互质,则aϕ(p)≡1(&VeryThinSpace;mod&VeryThinSpace;p)a^{\phi(p)} \equiv 1(\bmod p)aϕ(p)1(modp)

扩展欧拉定理

p&gt;1,n≥ϕ(p)p&gt;1, \quad n \geq \phi(p)p>1,nϕ(p)情况下,存在

an≡an&VeryThinSpace;mod&VeryThinSpace;ϕ(p)+ϕ(p)(&VeryThinSpace;mod&VeryThinSpace;p)a^{n} \equiv a^{n \bmod \phi(p)+\phi(p)}(\bmod p)ananmodϕ(p)+ϕ(p)(modp)


还有一个数论函数,不写了不写了,反正横竖也全是题目。


算了,不能指望我听懂这些,果然听数论就是个错误的选择吗。

更可恶的是,任轩笛还嘲讽我们,唉,果然还是太菜了吗。

基于SpringBoot的马术俱乐部管理系统设计与实现AI更换标第1章引言介绍马术俱乐部管理系统的研究背景、意义、国内外研究现状、论文方法及创新点。1.1研究背景与意义阐述马术俱乐部管理系统对提升俱乐部管理效率的重要性。1.2国内外研究现状分析国内外马术俱乐部管理系统的发展现状及存在的问。1.3研究方法以及创新点概述本文采用的研究方法,包括SpringBoot框架的应用,以及系统的创新点。第2章相关理论总结和评述与马术俱乐部管理系统相关的现有理论。2.1SpringBoot框架理论介绍SpringBoot框架的基本原理、特点及其在Web开发中的应用。2.2数据库设计理论阐述数据库设计的基本原则、方法以及在管理系统中的应用。2.3马术俱乐部管理理论概述马术俱乐部管理的基本理论,包括会员管理、课程安排等。第3章系统设计详细描述马术俱乐部管理系统的设计方案,包括架构设计、功能模块设计等。3.1系统架构设计给出系统的整体架构,包括前端、后端和数据库的交互方式。3.2功能模块设计详细介绍系统的各个功能模块,如会员管理、课程管理、预约管理等。3.3数据库设计阐述数据库的设计方案,包括表结构、字段设计以及数据关系。第4章系统实现介绍马术俱乐部管理系统的实现过程,包括开发环境、编码实现等。4.1开发环境搭建介绍系统开发所需的环境,包括操作系统、开发工具等。4.2编码实现详细介绍系统各个功能模块的编码实现过程。4.3系统测试与调试阐述系统的测试方法、测试用例以及调试过程。第5章系统应用与分析呈现马术俱乐部管理系统的应用效果,并进行性能分析。5.1系统应用情况介绍系统在马术俱乐部中的实际应用情况。5.2系统性能分析从响应时间、并发处理能力等方面对系统性能进行分析。5.3用户反馈与改进收集用户反馈,提出系统改进建议。第6章结论与展望总结马术俱乐部管理系统的设计与实现成果,并展望未来的研究
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值