1.欧几里得算法,也叫辗转相除,简称 gcd,用于计算两个整数的最大公约数 定义 gcd(a,b) 为整数 a 与 b 的最大公约数 引理:gcd(a,b)=gcd(b,a%b) 证明: 设 r=a%b,c=gcd(a,b); 则 a=cx,b=cy,其中x,y互质 r=a%b=a-pb=cx-cp ...
分类:
编程语言 时间:
2019-04-08 21:51:05
阅读次数:
233
"洛咕" 题意:求关于x的同余方程$ax\equiv1\pmod{b}$的最小正整数解. 方程$ax\equiv1\pmod{b}$有解当且仅当$gcd(a,b)=1$.所以方程可写为$a x+b y=1$,用扩展欧几里得算法求出一组特解$x_0,y_0$,通解是所有模b与$x_0$同余的整数,题目 ...
分类:
其他好文 时间:
2019-03-09 14:16:17
阅读次数:
233
哎呀大水题。。我写了一个多小时。。好没救啊。。 数论板子X合一? 注意: 本文中变量名称区分大小写。 题意: 给一个$n$阶递推序列$f_k=\prod^{n}_{i=1} f_{k i}b_i\mod P$其中$P=998244353$, 输入$b_1,b_2,...,b_n$以及已知$f_1,f ...
分类:
编程语言 时间:
2019-02-05 13:12:42
阅读次数:
222
欧几里得算法 这个就是常说的辗转相除法,用于计算两个整数$a,b$的最大公约数,即$$gcd(a,b)=gcd(b,a mod b)$$ 扩展欧几里德算法 是用来在已知 $a,b$ 求解一组整数解 $x,y$ 使它们满足等式:$$ax+by=gcd(a, b)$$ (解一定存在,根据数论中的相关定理 ...
分类:
编程语言 时间:
2019-01-30 21:43:07
阅读次数:
235
扩展欧几里得算法 定义: 贝祖定理对于任意整数a,b,存在一对整数x,y,满足ax+by=gcd(a,b) 用欧几里得算法计算 一组 x,y的方法,称作“扩展欧几里得”算法 求解 思路 假设a b $$ (1) b=0:gcd(a,b)=a,ax+by=a,则x=1,y=0; $$ $$ (2)b\ ...
分类:
编程语言 时间:
2019-01-29 23:09:05
阅读次数:
169
[TOC] 同余 基本定理 欧拉定理 若a,m互质,则 $$ a^{\varphi\left ( m \right )}\equiv 1\left ( mod \ m \right ) $$ 应用 令 , ,这两个数是互素的。比5小的正整数中与5互素的数有1、2、3和4,所以 。计算: ,而 。与定 ...
分类:
编程语言 时间:
2019-01-29 22:06:55
阅读次数:
243
题目: 思路:暴力搜索或者扩展欧几里得算法( 97x-127y=1 ax+by=m ) 代码: ...
分类:
其他好文 时间:
2019-01-28 21:44:51
阅读次数:
185
最大公约数gcd() 最小公倍数lcm() 拓展欧几里得exgcd(int a,int b,int &x,int &y) 作用:快速求整数x,y使得ax+by=gcd(a,b) 部分参考:扩展欧几里得算法 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然 存在整 ...
分类:
其他好文 时间:
2019-01-25 18:47:17
阅读次数:
195
什么是扩展欧几里得? 扩展欧几里得算法是建立在欧几里得算法(gcd)之上。 首先,我们知道有$a x+b y=gcd(a,b)$ 我们怎么求这个$x,y$呢? 这时候我们就得使用exgcd算法,我们来推导一下吧! $a x+b y=gcd(a,b)$ $a x+b y=gcd(b,a\% b)$ $ ...
分类:
编程语言 时间:
2019-01-15 10:41:35
阅读次数:
142
代码均未经过编译!!!~~(不用编译啦)~~ 默认: 快速幂 正整数a,b,p,求a^b(mod p)的值,时间复杂度O(logb) 最大公约数 正整数a,b,求a,b的最大公约数,时间复杂度在log级别 最小公倍数 正整数a,b,求a,b的最小公倍数,时间复杂度在log级别 扩展欧几里得算法 正整 ...
分类:
其他好文 时间:
2019-01-03 23:08:56
阅读次数:
274