• 2024-09-27中国剩余定理(一次同余问题) Java
    /***中国剩余定理*/publicclassChineseRemainderTheorem{//扩展欧几里得算法,返回gcd(a,b)以及x,y使得ax+by=gcd(a,b)publicstaticintextendedGCD(inta,intb,int[]xy){if(b==0){xy[0]=1;xy[1]
  • 2024-09-172024第一学期 #9
    T1.P10136神秘人类智慧题。如果离散化后的\(n\le3\),那么答案即为\(\dfrac{mx\times(mx+1)}{2}\)。接下来考虑\(n\ge4\)的情况。应为鸽巢原理当\(a_i\bmodL\)只有三种不同的取值,所以必定有两个数\(i,j\)满足条件\(a_i\equiva_j\pmodL\)并且\(1\lei<
  • 2024-09-14信息安全数学基础(11)同余的概念及基本性质
    一、同余的概念    同余是一个数学概念,用于描述两个数在除以某个数时所得的余数相同的情况。具体地,设m是一个正整数,a和b是两个整数,如果a和b除以m的余数相同,则称a和b模m同余,记作a≡b(modm)。反之,如果a和b除以m的余数不同,则称a和b模m不同余。二、同余的基本性质自
  • 2024-08-19数学基础
    数学不如小学生。数论质数判断试除法Miller–Rabin质数筛埃氏筛欧拉筛质因数分解试除法PollardRho算法最大公约数欧几里得算法裴蜀定理积性函数同余同余的基本性质同余定理欧拉定理费马小定理线性同余方程乘法逆元扩展欧几里得算法线性同余方程组CRTex
  • 2024-08-12数学基础-同余
    同余式若两个整数\(a,b\)模\(m\)的余数相同,则称\(a,b\)模\(m\)同余,记为\(a\equivb\pmod{m}\)。费马小定理若\(p\)为质数,且\(a,p\)互质,则\(a^{p-1}\equiv1\pmod{p}\)。欧拉定理若\(a,m\)互质,则\(a^{\varphi(m)}\equiv1\pmod{p}\),其中\(\varphi
  • 2024-07-26P1082 [NOIP2012 提高组] 同余方程
    [NOIP2012提高组]同余方程解法在这个问题中,我们想要找到
  • 2024-07-22线性同余方程组
    线性同余方程组基本问题是求解形如下面的线性同余方程组\[\begin{aligned}\begin{cases}x\equiva_1\pmod{p_1}\\x\equiva_2\pmod{p_2}\\...\\x\equiva_n\pmod{p_n}\end{cases}\end{aligned}\]在\(\operatorname{OI}\)中有广泛的应用
  • 2024-07-22同余关系
    同余关系在基本概念的部分中,我们已经简单了解了整除与余数而在这一个部分中,我们将更复杂的了解余数中的同余关系由于本节内容多在模意义下讨论,故文中可能会出现一些\(=,\equiv\)混用的情况,见谅此处获取本节调试数据/代码包全文绝大多数内容是对[0]中讲
  • 2024-07-18同余
    欧几里得算法(exgcd)简介用于求解\(ax+by=gcd(a,b)\),在求\(gcd\)的过程中进行求解。原理由辗转相除法的过程我们可以得到:\[ax_1+by_1=gcd(a,b)\\bx_2+(a\bmodb)y_2=gcd(b,a\bmodb)\\由欧几里得定理可知:gcd(a,b)=gcd(b,a\bmodb)\\所以ax_1+by_1=bx_2+(a\bmodb)y_2
  • 2024-07-15【密码学】密码学数学基础:剩余系
        不得不啃的密码学数学基础之剩余系是个啥?数学里面有好多的定义都有前置的数学概念,要想弄懂剩余系还得先说说“同余”。一、同余    那么“同余”有是个什么呢?在谈论“同余”之前,我们先圈定个讨论的范围。接下来讨论的都是整数集合。好了!可以正式开始介绍
  • 2024-07-12第二阶段复习——初等数论
    目录同余相关中国剩余定理CRT模板题两道青蛙的约会BiorhythmsP1082[NOIP2012提高组]同余方程同余相关中国剩余定理CRT理解构造式的证明方法类比拉格朗日插值法带系数怎么办模板题两道曹冲养猪;猜数字;青蛙的约会准确的说这不是CRT的题。这考察exgcd。重点在于理解
  • 2024-07-08扩展欧几里得详解——同余方程
    对于同余方程的话就是一个经典扩展欧几里得求逆元的题目。这个可以转换成,我们需要求的只是x和k从而得到一组解。通常我们会得到a和b两个元素,假设a是7,b为40,通过扩展欧几里得进行运算。这时也就是,我们第一步先开始从a,b两个数字里找到最大的那个在这里的话是40,然后利用大的
  • 2024-07-08模与同余
    \(a\equivb\pmodn\Leftrightarrow(a-b)\bmodn=0\Leftrightarrown|(a-b)\)\(a\bmodn<n\)\((a\pmb)\bmodn=((a\bmodn)\pm(b\bmodn))\bmodn\)\((a\cdotb)\bmod=((a\bmodn)\cdot(b\bmodn))\bmodn
  • 2024-07-06同余
    1.模运算基本性质基本概念:若整数\(a,b\)除以\(p\)的余数相等,则称\(a,b\)在模\(p\)意义下同余,记作\(a\equivb\pmod{p}\)或者\(a\bmodp=b\bmodp\)。模运算的定义:\[a\bmodp=\begin{cases}a-p\lfloor\dfrac{a}{p}\rfloor&a\geq0\\-(-a\bmodp)&a<0
  • 2024-06-11由AtCoder_ABC357D引发的除法同余学习
    鉴于最近的Atcoder周赛又出现除法求余,下定决心学习逆元相关内容同余概述定义同余定义:若a和b是整数,且m|(a-b),则称a和b模m同余。即两者除以m得到的余数相同。剩余系:一个模m完全剩余系是一个整数集合,任何一个整数恰好与该集合中的一个元素模m同余。例如0,1,...,m-1的集
  • 2024-05-22【知识点】拓展欧几里得与中国剩余定理
    在上一篇文章中,我们已经熟知了有关公约数和欧几里得算法的相关事宜。详情参见:欧几里得算法求最大公约数。本文将作为上篇文章内容的一个延续,简要阐述拓展欧几里得算法和中国剩余定理。拓展欧几里得算法拓展欧几里得算法(ExtendedEuclidianAlgorithm),是欧几里得算法的扩展版本,用
  • 2024-05-10P6610 [Code+#7] 同余方程
    P6610[Code+#7]同余方程首先可以中国剩余定理。至于为什么\(a,b\)在满足同余条件后\(a^2+b^2\)仍然满足,是因为根据中国剩余定理的过程,会得到只有当前方程结果为\(a\)的数加起来,所以不管套什么函数都是对的。然后就是推式子了。\[\begin{aligned}ans&=\sum_{a+b\equiv
  • 2024-05-10线性同余-常见语言编译器参数
    Sourcem(multiplier) a   (increment) coutputbitsofseedin rand() /Random(L)NumericalRecipes23216645251013904223 Borland C/C++232226954771bits30..16in rand(),30..0inlrand()glibc (usedby GCC)[5]231110351524512345b
  • 2024-04-21[学习笔记] 丢番图方程 & 同余 & 逆元 - 数论
    首先,他们几个都是兄弟,有着极大的相似性。另外,他们的各自的思想都能够很好的服务于另外几个,有助于加深理解。线性丢番图方程丢番图不是个图啊!他是个man……——百度百科现在主要说的是二元线性丢番图方程:通用形式为\(ax+by=c\)。其中常数全都为整数。很像不定方程对吧?现在在
  • 2024-04-19「NOIP2012」同余方程 题解!!
    嗨嗨嗨!又是我想写这道题,我们就需要掌握:拓展欧几里得顾名思义,它就是欧几里得算法(人话:辗转相除法)的proMax版本别告诉我你不会辗转相除法拓展欧几里得的作用是求对于方程\[a*x+b*y=gcd(a,b)\]解出x,y的值。让我们一步步分析!贴个辗转相除板子先:voidojld(inta,intb){ i
  • 2024-04-13初等数论——同余
    前置模运算定义:\(a\%b(a\modb)\),表示\(a\)除以\(b\)的余数。加法:\((a+b)\%p\)。减法:\((a-b+p)\%p\)。加\(p\)是为了防止负数。乘法:\((a\timesb)\%p\)。除法无法直接运算,要用逆元(在下面会讲到)。平方运算:快速幂模运算满足:结合律,交换律,分配律。
  • 2024-04-12算法学习笔记(13):同余最短路
    同余最短路是一种通过同余把状态分类,再通过建图跑最短路解决问题的算法。可以高效率解决一些特定的问题。非常的奇妙。算法鉴于学不懂,所以直接搬\(oi-wiki\)的题吧。呜呜呜。P3403跳楼机有一栋高为\(h\)的楼,初始在一楼,每次可以向上移动\(x\),\(y\),\(z\)层,也可
  • 2024-03-24【动态规划】【同余前缀和】【多重背包】[推荐]2902. 和带限制的子多重集合的数目
    本文涉及知识点动态规划汇总C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例包括课程视频C++算法:滑动窗口总结多重背包LeetCode2902.和带限制的子多重集合的数目给你一个下标从0开始的非负整数数组nums和两个整数l和r。请你返回nums中子多重集
  • 2024-02-29知识大纲
    参考了OI-wiki、CCF大纲、和能力全面提升综合题单。1.动态规划背包区间dp树形dp(换根dp)DAG上dp/拓扑排序后dp状压dp数位dp期望与概率dpdp优化方法决策单调性2.字符串简单字符串内容:字符串哈希、字典树、KMPz函数(扩展kmp)man
  • 2024-02-22P1082 [NOIP2012 提高组] 同余方程
    原题链接扩展欧几里得算法的应用,关于原理性的讲解这里就略去了,这边给出学习链接即模板。intexgcd(inta,intb,int&x,int&y){if(b==0){x=1;y=0;returnx;}intd=exgcd(b,a%b,x,y);x=y;y=d-a/b*y;returnx;}文