转自:http://www.cnblogs.com/frog112111/archive/2012/08/19/2646012.html 欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd( ...
分类:
其他好文 时间:
2016-08-16 21:30:59
阅读次数:
151
首先推荐两篇比较好的博客 http://blog.csdn.net/lincifer/article/details/49391175 (然后下面便是一个蒟蒻的总结QAQ) 扩展欧几里德算法 基本算法: 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 ...
分类:
编程语言 时间:
2016-08-16 11:48:44
阅读次数:
189
欧几里德算法(求最大公约数): 顺便写下求最小公倍数(lcm) 朴素的欧几里德: gcd(a, b) = gcd(b, a%b); 扩展欧几里德算法: 该算法一般有三种应用: 应用1: 利用它可以求解整数对(x, y).一定存在这样的整数对(x, y), 使得ax + by = gcd(a, b); ...
分类:
编程语言 时间:
2016-08-03 13:14:56
阅读次数:
315
一、欧几里得算法 二、扩展欧几里得算法 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 x,y ,使得 gcd(a,b)=ax+by。 可见,扩展欧几里德要求a,b,不能为负,所以当出现负数时我们通常采用 |a|(-x)+by=gcd(|a|,b) ...
分类:
编程语言 时间:
2016-08-02 11:33:18
阅读次数:
205
什么叫乘法逆元? 这里,我们称 x 是 a 关于 m 的乘法逆元 这怎么求?可以等价于这样的表达式: a*x + m*y = 1 怎么求逆元? 1,扩展欧几里德算法求逆元 ...
分类:
其他好文 时间:
2016-07-28 15:16:03
阅读次数:
136
有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做? 欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的时间复杂度里求解出来 a 和 ...
分类:
编程语言 时间:
2016-07-28 14:26:20
阅读次数:
227
mod: 扩展欧几里德算法,而我没有复习,暴力的60 事后后悔死 classroom: 线段树得90,T两个点。代码与问题如下: 另,正解是二分订单,如下: blockade: 惊呆,看标答都看了1小时...借大神的程序配大神的注释与自己的理解。 ...
分类:
其他好文 时间:
2016-07-22 22:52:18
阅读次数:
261
欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a ...
分类:
编程语言 时间:
2016-07-12 21:17:25
阅读次数:
235
?扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式: ax+by = gcd(a, b) = d(解一定存在,根据数论中的相关定理)。扩展欧几里德常用在求解模线性方程及方程组中。 ?设 a>b。 ?1,显然当 b=0,gcd(a,b)=a。此时 x=1,y=0; ?2,ab<> ...
分类:
其他好文 时间:
2016-07-10 15:16:54
阅读次数:
142
刘汝佳《入门经典》上提供了一道经典的题目: 除法表达式,在NYOJ上可以找到原题,题号1013 #include <iostream> #include <cstring> #include <cstdio> using namespace std; char ch[50010]; //注意数字最长 ...
分类:
编程语言 时间:
2016-06-27 23:18:09
阅读次数:
242