• 2024-09-17【学习笔记】扩展欧几里得
    扩展欧几里得算法(exgcd)简介扩展欧几里得算法基于辗转相除法构建,主要用于求方程\[ax+by=c\]最小正整数解步骤1.求方程\(ax+by=gcd(a,b)\)的解我们构造两个方程\[\begin{cases}ax+by=gcd(a,b)\\bx'+(a\%b)y'=gcd(b,a\%b)\end{cases}\]因为由欧几里得算法易于得到\[gc
  • 2024-09-09扩展欧几里得算法
    给定整数\(a,b,c\)。求一组整数解\(x,y\)使得:\[ax+by=c\]或报告无解。首先考虑\(c=\gcd(a,b)\)的简单情况,即:\[ax+by=\gcd(a,b)\]当\(c\mid\gcd(a,b)\)时,我们可以将等式两边同时乘\(\dfracc{\gcd(a,b)}\)已得到原问题的解,即\(a\getsa\times
  • 2024-08-26乘法逆元 + 扩展欧几里得定理/算法
    数学之乘法逆元Part1:逆元是什么一个东西的逆元,就是指在一种运算/操作下能够抵消这个东西所带来影响的东东举个例子4的加法逆元就是-4​ 2在普通乘法中的逆元就是\(2^{-1}\)而乘法逆元指的是在模意义下的乘法逆元设原式为​\(1*a\equiva\modp\)那么
  • 2024-08-05高效刷题不再是梦
    不知道大家有没有遇到我去年刷题时遇到的难题困惑:手头资料某一专题的题目明明已经刷完了,却还是感觉自己这一专题知识点不够牢固仍需强化,买太多资料的话又担心贪多嚼不烂,去网上找题的话不仅费时费力,最后题目质量可能还不太行,导致刷题效率低下。如果你跟去年的我有一样的困扰的话
  • 2024-07-22欧几里得
    欧几里得全文绝大多数内容是对[0]中讲述的粗略抄写和胡乱加工\(\gcd\),\(\operatorname{lcm}\)此处获取本节调试数据/代码包1.欧几里得算法即\(\gcd\),又称辗转相除法,用于递归得到最大公因数,时间复杂度\(O(\logV)\)\[\gcd(a,b)=\gcd(b,a\bmodb
  • 2024-07-22【数学】【模板】扩展欧几里得算法
    扩展欧几里得算法思想首先回忆一下裴蜀定理:对于任意一对不全为\(0\)的整数\(a,b\),存在\(x,y\)使得\(ax+by=\gcd(a,b)\)。扩展欧几里得算法就是求出一组解满足\(ax+by=\gcd(a,b)\),这里用到了欧几里得算法,不会的,可以看看我的博客。我们看看怎么求:当\(b=
  • 2024-07-22【数学】【模板】欧几里得算法
    欧几里得算法思想\[\gcd(a,b)=\gcd(b,a\bmodb)\]证明\(\gcd(a,b)=\gcd(b,a\bmodb)\):首先,如果有\(d|a\),\(d|b\),那么\(d|ax+by\)。然后,\(a\bmodb=a-\left\lfloor\dfrac{a}{b}\right\rfloorb\)。假设\(p=\gcd(a,b)\),那么\(p|
  • 2024-07-18扩展欧几里得算法(exGcd)
    扩展欧几里得算法(ExtendedEuclideanalgorithm,EXGCD),常用于求\(ax+by=c\)的一组可行解。过程设\(ax_1+by_1=\gcd(a,b)\)\(bx_2+(a\modb)y_2=gcd(b,a\modb)\)由欧几里得算法:\(\gcd(a,b)=gcd(b,a\modb)\)所以:\(ax_1+by_1=bx_2+(a\modb)y_2\)又因为:\(a\mod
  • 2024-07-14万能欧几里得小记
    类欧几里得类欧几里得算法解决这样的问题:\[f(p,q,r,n)=\sum_{x=0}^n[\frac{px+r}{q}]\]可以理解为一条直线下方的整点个数。第一步首先,我们可以将\(r\)对\(q\)取模,从而提取出一个不变量。第二步我们可以继续将\(p\)对\(q\)取模,从而使得\(p,r\)都在\([0,q)
  • 2024-07-14拓展欧几里得算法
    877.扩展欧几里得算法-AcWing题库878.线性同余方程-AcWing题库#include<bits/stdc++.h>usingnamespacestd;intexgcd(inta,intb,int&x,int&y){if(!b){x=1,y=0;returna;}else{intt=exgcd(b,a%b,y,x);
  • 2024-07-08扩展欧几里得详解——同余方程
    对于同余方程的话就是一个经典扩展欧几里得求逆元的题目。这个可以转换成,我们需要求的只是x和k从而得到一组解。通常我们会得到a和b两个元素,假设a是7,b为40,通过扩展欧几里得进行运算。这时也就是,我们第一步先开始从a,b两个数字里找到最大的那个在这里的话是40,然后利用大的
  • 2024-06-13欧几里得算法证明
    求证:gcd(a,b)=gcd(b,a%b)a,b的最大公约数,就是b,a%b的最大公约数。 第一步求证:公约数cd(commondivisor)cd(a,b)=cd(b,a%b) 设a>b则a=kb+r(k是整数,r=a%b)(1)式设d是a,b的公约数,也就是d能被a整除,也能被b整除。(1)式除所d得:a/d=kb/d+r/d   因为a/d和kb/d是整数,所以
  • 2024-06-06密码工程-扩展欧几里得算法
    任务要求在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务,要用git记录实现过程,gitcommit不能低于5次严格按照《密码工程》p112伪代码实现ExtendedGCD(inta,intb,int*k,int*u,int*v)算法(10')2.根据ExtendedGCD实现计算有限域模除的函数intModDiv(inta,in
  • 2024-06-05抽象代数(环论)复习笔记
    前提情要:博主写这篇博客仅仅是为了加深对知识点的印象,如果读者仅仅是为了了解抽代学习内容的话建议出门左拐魏老师的https://www.cnblogs.com/alex-wei/p/18194469/Abstract_Algebra_Ring_Theory,因为本博客在创作过程中很大程度上借鉴了那篇博客。1.环1.1环的基本定义(chapte
  • 2024-05-31扩展欧几里得(新)
    重新整理一下扩欧。扩展欧几里得就是欧几里得算法也就是辗转相除法的扩展应用,扩展后的作用主要为求二元一次方程组的一个解。基本原理众所周知,一个式子是无法确定两个未知数的唯一值的,因此exgcd只能解出一种符合要求的解,但是因为有通解的存在,你可以由这个解推出其他所有的可
  • 2024-05-30证明欧几里得定理(这是一位刚学数论的初三生发明的方法)
    欧几里得定理:gcd(a,b)=
  • 2024-05-22【知识点】拓展欧几里得与中国剩余定理
    在上一篇文章中,我们已经熟知了有关公约数和欧几里得算法的相关事宜。详情参见:欧几里得算法求最大公约数。本文将作为上篇文章内容的一个延续,简要阐述拓展欧几里得算法和中国剩余定理。拓展欧几里得算法拓展欧几里得算法(ExtendedEuclidianAlgorithm),是欧几里得算法的扩展版本,用
  • 2024-05-02数论学习笔记 (4):扩展欧几里得算法
    概述扩展欧几里得算法(\(exgcd\))可以用来求形如\(ax+by=c\)的不定方程的通解。铺垫-\(\small\texttt{ax+by=gcd(a,b)}\)的解\(exgcd\)的思想是在用辗转相除法递归\(gcd(a,b)\)的回溯时求出对应方程\(ax+by=gcd(a,b)\)的解。考虑方程\(ax+by=gcd(a,b)\)。看回辗
  • 2024-04-26【知识点】欧几里得算法求最大公约数
    最大公约数所为的最大公约数,是指两个或多个整数共有的约数中最大的那个数。换句话说,它是能同时整除给定的整数的最大整数。例如,对于整数\(12\)和\(18\),它们的公约数有\(1、2、3、6\),其中最大的公约数为6,因此它们的最大公约数为\(6\)。最大公约数通常用符号\(\gcd(a,b)\)
  • 2024-04-19射影几何学笔记
    给大家拉坨大的。在中学阶段,我们就研究过欧几里得平面上的几何。在初中阶段我们学习了平移与旋转,在高中阶段我们学习了仿射,这些几何变换有一个共同点:保持共线三点与共点三线在变换后仍共线或共点。然而在生活中,除了这些变换以外,还有更一般的变换也拥有这个性质:比如,我们在空中对着
  • 2024-04-15扩展欧几里得 解二元一次方程组
    扩展欧几里得: 最大公约数-OIWiki(oi-wiki.org) intexgcd(inta,intb,int&x,int&y){if(!b){x=1,y=0;returna;}intd=exgcd(b,a%b,y,x);inttmp=x;x=y;y=tmp-(a/b)*y;returnd;}P5656【模板】二元一次不定
  • 2024-04-04欧几里得算法求解GCD
    GCD(最大公约数)欧几里得算法(辗转相除法)原理if(a%b==0)GCD=belseGCD=b%(a%b)基本情况:如果其中一个数为0,则另一个非零数一定就是两数的GC
  • 2024-03-31腾讯2024技术研究岗-实习生笔试总结
    腾讯2024技术研究岗-实习笔试在牛客上考的,5道编程题,可以用本地IDE,但不能使用已有代码前四题都比较简单,枚举、贪心、二分、最短路的考点,大概40分钟做完,第五题卡住了,到最后也没做出来第五题是一道数学题,大体的题意忘记了,但是最后我的做法简化出来的难点应该在处理大质数\(p\)(\(1
  • 2024-03-28拓展欧几里得算法——C.一日之计在于晨
    广州大学第十八届ACM大学生程序设计竞赛(同步赛)C题谈到拓展欧几里得算法,就要从欧几里得算法和裴蜀定理说起。欧几里得算法(辗转相除法)\(gcd(a,b)=gcd(b,a\modb)\)其中,当\(a=0\)时,\(\gcd(a,b)=\gcd(0,b)=b\);\(b=0\)同理证明:\(gcd(a,b)=gcd(b,a-b)\)令\(a=b+c\),\(\gcd(a,b)
  • 2024-03-28java基础操作4——计算三维空间两点之间的绝对距离
    在实际项目中,计算两个坐标点的距离算是比较常见的问题。具体可参考如下文章:https://blog.csdn.net/w10463672p/article/details/136877796但是涉及到三维空间的距离计算,或者准确说是两点的相似度,需要用到欧式距离算法或者其他数学方法。此算法计算的距离衡量的是多维空间中