首页 > 其他分享 >数学

数学

时间:2024-02-06 20:55:48浏览次数:17  
标签:lfloor frac gcd rfloor times 数学 mod

本文将尽量包含所有省选范围内的数学知识。

本文会涉及到的数学模块:

  • 基础数学

  • 初等数论

  • 排列组合

  • 概率与期望

  • 线性代数

  • 多项式相关

  • 博弈论

前置知识

进制转化

相信读者已经掌握了最基本的进制转换方法,接下来将简单说明十进制转换二进制的正确性。

对于十进制数 \(x\),我们会将 \(x&1\) 作为对应二进制数的最低位,接着令 \(x\leftarrow \lfloor\frac{x}{2}\rfloor\)。

可以发现,\(x&1\) 即是求 \(x\) 二进制下的最低位,接下来的右移操作,则是将问题规模缩小,变成一个相同的子问题,由于之前已经经历过 \(y\) 次右移,此时得到的最低位经过 \(y\) 次左移应该变成二进制下的第 \(y\) 位。

位运算相关

首先给出补码的定义:在计算机中,非负数的补码为其本身,负数补码为其二进制下按位取反后 +1 得到的结果。

负数不能执行左移操作。

数论

整除

\(a,b\in Z,a\ne 0,\exists q\in Z\) 使得 \(b=aq\),我们就称 \(a|b\)。

关于整除的性质,都较为显然,读者或许可以在需要时自行推理得出。

平凡因数:对于 \(b\in Z\),把 \(\pm 1,\pm b\) 称为 \(b\) 的平凡因数。

素数相关

严格判定这里不再叙述。

素性测试:一种不对素数进行分解而判定的方法。

  • 确定性测试,顾名思义。

  • 概率性测试,利用随机算法判定素数,对于判定为素数,实际为合数的数,称为伪素数

最大公因数相关

Euclidean algorithm

通常称为“辗转相除法”,接下来将证明该算法基本定理 \(\gcd(a,b)=\gcd(b,a\mod b)\)。

我们主要基于 \(a\in b,b\in a\rightarrow a=b\) 进行证明。

令 \(a\geq b\),设 \(a=bk+c\),显然 \(c=a\mod b\);设 \(d|a,d|b\),\(\frac{a}{d}-k\times\frac{b}{d}=\frac{c}{d}\rightarrow d|c\),即 \(d|a\mod b\),又因为 \(d|a,d|b\),所以对于任意 \(d|a,d|b\),存在 \(d|b,d|a\mod b\)

同理,可得对于 \(d|b,a\d|a\mod b\),存在 \(d|a,d|b\)。综上,得证。

该定理的基本实现相信读者已经知晓。

更相减损法

exgcd

求解 \(ax+by=\gcd(a,b)\),其中 \(a,b\) 为常数。

当 \(b=0\) 时,\(\gcd(a,0)=a\) (回想一下利用辗转相除法的最后一层)。此时 \(ax+0\times y=a\),容易发现 \(x=1\),\(y\) 取任意值。

借助欧几里得算法的思想,发现 \(\gcd(a,0)\) 正是递归的最后一层,考虑倒数第二层的求法。设倒数第二层为 \(\gcd(a,b)\),把最后一层改为 \(\gcd(b,a\mod b)\),要求解 \(ax+by=\gcd(a,b)\),发现 \(bx'+y'\times (a\mod b)=\gcd(b,a\mod b)\),接下来进行推导。

\[bx'+y'\times(a-b\times\lfloor \frac{a}{b}\rfloor )=\gcd(b,a\mod b) \]

\[bx'+y'a-y'b\times\lfloor\frac{a}{b}\rfloor=\gcd(b,a\mod b) \]

\[y'a+b(x'-y'\times\lfloor\frac{a}{b}\rfloor)=\gcd(b,a\mod b) \]

结合这两个式子来看:

  • \(ax+by=\gcd(a,b)\)

  • \(ay'+b(x'-y'\times\lfloor\frac{a}{b}\rfloor)=\gcd(b,a\mod b)\)

得到 \(x=y',y=x'-y'\times\lfloor\frac{a}{b}\rfloor\)。

现在问题转变成了求解 \(x',y'\)。

根据刚才对于最后一层的求解,我们已经可以求出该层的答案。注意在最后一层中,\(y\) 为任意值,这里尽量取 \(0\)。

于是我们这样递归求解,即可得到一组合法的解。

标签:lfloor,frac,gcd,rfloor,times,数学,mod
From: https://www.cnblogs.com/BYR-KKK/p/18010295

相关文章

  • Java 数学运算与条件语句全解析
    JavaMathJava的Math类拥有许多方法,允许您在数字上执行数学任务。常用方法:Math.max(x,y):找到x和y的最大值Math.min(x,y):找到x和y的最小值Math.sqrt(x):返回x的平方根Math.abs(x):返回x的绝对值Math.random():返回一个介于0.0和1.0之间的随......
  • 组合数学基础
    Finitecalculus用红色标出来的是需要特别注意的地方。差分与下降幂定义差分算子\[\Deltaf=f(x+1)-f(x)\]定义\(\mathbf{E}f=f(x+1)\)。Thus\(\Delta(u\pmv)=\Deltau\pm\Deltav\).\(\DeltaCu=C\Deltau\)where\(C\)isaconstant.\(\Deltauv=\textcolo......
  • 【数学】求导
    1.导数简介1.1导数的定义当函数\(y=f(x)\)的自变量\(x\)在一点\(x_0\)上产生一个增量\(\Deltax\)时,函数输出值的增量\(\Deltay\)与自变量增量\(\Deltax\)的比值在\(\Deltax\)趋于\(0\)时的极限\(a\)如果存在,\(a\)即为在\(x_0\)处的导数,记作\(f^{'}(x......
  • 组合数学基础
    隔板法\(X_1+X_2+...+X_n=m,\quadX_i>=0\)\(求方程解的个数\)\(m个球插入n-1个板将m个球分成n份\)\(方程解的个数(^{n+m-1}_{m})\)如果要求每份球的个数都大于1该怎么做?\(X_1+X_2+...+X_n=m,\quadX_i>=1\)\(求方程解的个数\)\(令X^{'}=X_1-1,X^{'}>=0,\)\(X_1+X_2+......
  • 缩小数据范围——nc2.4多校_A.新春游戏之数学系列
    目录问题概述思路分析参考代码做题反思问题概述原题参考A.新春游戏之数学系列大致就是给出一个数组,要求求出一个公式的值,有几个数据范围值得注意一下,一是数组的长度为[0,1e6],二是数组元素的和不超过5e7思路分析赛时第一眼准备去分析公式看看有没有可以优化的,用前缀拆分优化......
  • 游戏化互动电子书对数学课程学生翻转学习表现、动机及元认知倾向的影响
    (Effectsof gamifiedinteractivee‑bookson students’flipped learningperformance,motivation,and meta‑cognitiontendency in a mathematicscourse) https://doi.org/10.1007/s11423-021-10053-0一、摘要研究目的:人们普遍认为,翻转学习通过颠倒安排课前......
  • 【学习笔记】OI 数学学习笔记
    OI数学学习笔记001_整除001.1_整除基础001.1A基本定义整除与因数倍数的定义:设\(a,b\in\mathbb{Z},b\ne0\),若存在\(q\in\mathbbZ\),使得\(a=bq\),则称\(b\)整除\(a\),记为\(b\mida\),此时称\(a\)为\(b\)的因数,\(b\)为\(a\)的倍数.带余除法与余数的......
  • manim 数学公式如何支持中文
    如果你使用的manimlibmanimlib网上有很多解决方案了,本文侧重于那些使用manim库的朋友。manim库的解决方案如果你有CTEX,那么最好。没有建议重装一个CTEX。翻到manim目录/utils/tex_templates.py,第14行到第22行:def_new_ams_template():"""ReturnsasimpleT......
  • P2433 【深基1-2】小学数学 N 合一
    题目原题目在[P2433【深基1-2】小学数学N合一-洛谷|计算机科学教育新生态(luogu.com.cn)]【深基1-2】小学数学N合一题目描述问题1请输出IloveLuogu!问题2这里有$10$个苹果,小A拿走了$2$个,Uim拿走了$4$个,八尾勇拿走剩下的所有的苹果。我们想知道:小......
  • 【学习笔记】数学
    大坑填不完一点。1.矩阵乘法当且仅当对于一个\(n\timesm\)的矩阵\(A\)和\(m\timesk\)的矩阵\(B\),\(A\timesB=C\)。此时\(C\)为一个\(n\timesk\)的矩阵且\(C_{i,j}=\sum_{s=1}^{m}A_{i,s}+B_{s,j}\)。虽然说不是很理解为什么这么做就是了。比如说对于矩阵\(A......