拓展欧几里得定理主要用来求解同余线性方程,求逆元等,遇到题目给出形如ax+by==c,要求一组满足要求的x和y时,可以联系扩展欧几里得求解 拓展欧几里得由 gcd(a,b) = gcd(b,a%b) 推出 由于 a*x + b*y == gcd(a,b) 必定有解 所以 b*x + (a%b)*y ...
分类:
其他好文 时间:
2017-04-03 13:22:00
阅读次数:
153
这题的时间复杂度真玄学。。。 O(m*n^2)。1e8也能过啊。。。 首先题目保证m<=1e6. 这启发我们枚举或者二分答案? 但是答案不满足单调性,考虑从小到大枚举m。 对于每一个m,枚举两个野人在有生之年能否住在一起。可以推出一个同余方程,用扩欧可以求出最小整数解x,或者没有解。 如果x<=li ...
分类:
其他好文 时间:
2017-03-17 21:05:15
阅读次数:
164
扩展欧几里得 上回刚写完欧几里得,那现在还有一个东西叫拓展欧几里得: 扩展欧几里得法是一个在求解同余方程等问题上的一个很好的方法,其具体功能如下: 在已知(a,b)时,求解一组(p,q)使得p*a+q*b=GCD(a,b) 首先,根据数论中的原理,解一定是存在的。 我们可以设a对于GCD(a,b)的 ...
分类:
编程语言 时间:
2016-11-21 22:40:26
阅读次数:
170
题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开。 输出格式: 输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。 1 #include<iostream> 2 # ...
分类:
其他好文 时间:
2016-11-06 17:17:57
阅读次数:
316
数学公式支持不能。。只能截图 b在模m 下存在逆元的条件: b与m互质( 即gcd(b,m) == 1 )。 求逆元又分三种方法,拓展欧几里得法,欧拉函数法,费小马法。从一般到特殊吧: 1、拓展欧几里得法: 要求:a与m互质。 代码: 2、欧拉函数法 要求:b与m互质。 代码: 3、费小马定理法 代 ...
分类:
其他好文 时间:
2016-10-04 18:44:50
阅读次数:
195
拓展欧几里得入门题 两个野人若要走到同一个洞穴,设他们走了x步,则p[i]*x+c[i]≡p[j]*x+c[j](mod ans),ans即答案; 移项得到(p[i]-p[j])*X+ansY=c[j]-c[i]; 即aX+bY+=C的形式,枚举ans,n^2的枚举每一个野人,用ex_gcd求得最小 ...
分类:
其他好文 时间:
2016-09-27 22:57:00
阅读次数:
210
1256 乘法逆元 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。 给出2个数M和N(M < N),且M与N互质,找出一个数 ...
分类:
其他好文 时间:
2016-09-20 12:15:02
阅读次数:
228
克里特岛以野人群居而著称。岛上有排列成环行的M个山洞。这些山洞顺时针编号为1,2,…,M。岛上住着N个野人,一开始依次住在山洞C1,C2,…,CN中,以后每年,第i个野人会沿顺时针向前走Pi个洞住下来。每个野人i有一个寿命值Li,即生存的年数。下面四幅图描述了一个有6个山洞,住有三个野人的岛上前四年 ...
分类:
其他好文 时间:
2016-09-17 19:13:55
阅读次数:
397
欧几里得是数论当中最基本的定理,以其为基础的拓展欧几里得算法在解决同余方程、求模逆元等问题。 首先来介绍几个概念,数论当中一些基本的概念其实在小学就学过,但是很长一段时间并没有用到它们,因此这里再拿出来温习一下。 我们常常用a|b来表示b能够整除a(b > a),即b/a是整数,但是“|”在使用的过 ...
分类:
编程语言 时间:
2016-09-15 21:39:44
阅读次数:
207
最近做了一些拓展欧几里得的题目呢,嘛,从一开始的不会到现在有点感觉,总之把我的经验拿出来和大家分享一下吧。
普通的欧几里得是用于解决求两个数a,b的gcd的,但是我们知道,gcd是线性组合 { ax+by | x,y∈Z }里的最小正元素(什么?不知道怎么来的?好吧。。。算法导论里数论算法那一章有证明),假若我们能够把这个x和y找出来,那么可以用来解决很多问题。
...
分类:
其他好文 时间:
2016-08-22 15:01:30
阅读次数:
301