数学定理
文章平均质量分 66
鲜果维他命
Don't be a programmer,to be a problem solver
展开
-
BSGS&exBSGS(让你轻松理解和掌握)
BSGS(Baby step Giant step)简称,拔山盖世,不是个事,哈哈哈,不开玩笑了,它的名字叫大步小步算法,主要用来解决形如a^x≡b(mod p)的高次线性同余方程,其中a,p互质,求最小正整数解x的问题解题步骤如下:step1.令m=ceil( sqrt( p ) ),也就是对p开二次根号然后向上取整。step2.令x=i*m-j,1<=i<=m,0<=j<=m-1,此时原式可以表示为a^(im-j)≡b(mod p) ->a^im ≡ b×a^j(m原创 2021-02-04 14:24:51 · 726 阅读 · 0 评论 -
解多元线性同余方程
什么是多元线性同余方程呢?我们知道一元线性同余方程是,之所以称之为一元,是因为它只有一个未知数,那么多元线性同余方程就有多个未知数,别被吓到,其实不难,接下来我们来分析如何解它.定义 : 形如a1x1+a2x2+a3x3+…+anxn=b(mod m)的式子,我们称之为多元线性同余方程我们知道存在y1,y2,使得a1y1+a2y2=gcd(a1,a2),令gcd(ai,ai+1)=gi,那么上式就可以写成a1y1+a2y2=g1,那么a1x1+a2x2=g1*C,C是一个常数我们令m=an+1所以可原创 2021-02-01 11:39:51 · 1266 阅读 · 0 评论 -
解线性同余方程组
一元线性方程组求解什么是一元线性方程组呢?就是由若干个形如x=b1(mod a1),x=b1(mod a2)…组成,之所以称之为一元,是因为只有一个未知数x例如方程组x=b1(mod a1)x=b2(mod a2)x=b3(mod a3)x=b4(mod a4)....x=bn(mod an)如何求x呢?这里就需要用到合并操作,不断把两个方程合并成为一个,最后只剩下一个方程就OK怎么个合并发呢?下面我们来推到两个方程的合并过程x=b1(mod a1)x=b2(mod a2)则原创 2021-02-01 10:38:43 · 593 阅读 · 0 评论 -
求逆元的方法
扩展欧几里得求逆元ax=1(mod p),a,p互质,那么原式可以写成ax+py=gcd(a,p)(mod p),a,p互质,所以gcd(a,b)=1,所以原式等于ax+py=1(mod p),直接通过扩展欧几里得算法即可轻松求得,如果不知道什么是扩展欧几里得算法,建议先学一下https://blog.csdn.net/TheWayForDream/article/details/109014990代码:#include<bits/stdc++.h>using namespace st原创 2021-01-26 22:38:08 · 178 阅读 · 0 评论 -
同余概述(同余定理)
什么是同余定理?相比大家都知道,简单来说就是一个公式如果a=b(mod m),那么我们称a,b关于模m同余,这个式子叫做同余式。定理1.若a=b(mod m),且c=d(mod m),那么ax+cy=bx+dy(mod m),同余式满足加法定理2.若a=b(mod m),且 c=d(mod m),那么,ac=bd(mod m),同余式满足乘法定理3.若a=b(mod m),那么gcd(a,m)=gcd(b,m)定理4.若a=b(mod mi),其中1<=i<=n,当且仅当a=b(mod原创 2021-01-26 22:36:31 · 7213 阅读 · 0 评论 -
埃拉托斯特尼筛法+细节证明
埃拉托斯特尼筛法顾名思义就是筛素数的方法首先埃拉托斯特尼筛法实基于这样一个定理:一个正合数n,一定存在小于sqrt(n)的素数因子所以此筛法就是将n的所有小于等于sqrt(n)的素数因子圈出来,然后把他们的倍数划去,剩下的没有被划去的就是素数例如:25,sqrt(25)=5,那么所有小于等于5的素数因子就是2,3,5我们把2,3,5的所有倍数划去,也就是4,6,8,9,10,12,14,15,16,18,20,21,22,24,25,最后剩下2,3,5,7,11,13,17,19,23就是素数实原创 2021-01-20 18:39:50 · 969 阅读 · 0 评论 -
素数定理+应用
素数定理用法:给你一个数x(这个数可能非常大),让你找出小于x的素数个数的位数,素数个数我们记作Π(x)素数定理:当x增大时,Π(x)/(x/lnx)无线趋近于1趁热打铁素数个数的位数小明是一个聪明的孩子,对数论有着很浓烈的兴趣。他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小。现在的问题是,告诉你n的值,让你帮助小明计算小于10n的素数的个数值共有多少位?Input输入数据有若干组,每组数据包含1个整数n(1 < n < 100000原创 2021-01-20 15:28:29 · 587 阅读 · 0 评论 -
类欧几里得算法
类欧几里得算法为什么叫类欧几里得算法,顾名思义类似于欧几里得算法,在学习本算法之前可以先学习欧几里得算法,以便于加深对类欧几里得算法的理解作用:类欧几里得可以用来做什么呢,以及证明过程?这里推荐一篇好的视频类欧几里得算法详解视频,可以结合证明过程加深印象,这里推荐一篇好的博客,证明过程很详细类欧几里得算法证明证明需要用到的等式关系用来快速求取代码ll f_gcd(ll a,ll b,ll c,ll n){ ll m=(a*n+b)/c; if(n==0||m==0) return b原创 2020-11-06 15:44:17 · 765 阅读 · 1 评论 -
裴蜀定理(详细定义+应用+模板)
裴蜀定理定义:对于非负整数a,b,存在x,y使得ax+by=gcd(a,b),也就是说ax+by能构成的最小正整数就是gcd(a,b),注意(a,b不同时为0)不难理解,练习一道题吧模板 裴蜀定理思路:要求A1 * x1+A2 * x2+A3 * X3…+An * Xn=S要求最小的S只需要不断迭代即可因为 A1 * x1+A2 * x2=gcd(A1,A2)迭代一次得到 (A1 * x1+A2 * x2)+A3 * x3=gcd(gcd(A1,A2),A3)这样不断迭代下去就到最后,也就原创 2020-10-17 18:01:34 · 2101 阅读 · 0 评论