转自: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
简介逆元,简单的来说就是a?b≡1(modp)a*b≡1(mod p),那么b就是a关于p的逆元。
正常的来说用扩展欧几里得来做。复杂度不是线性的。
但是如果所有的i≤p,有一个线性求逆元的方法。
正常的来说方法因为i≤pi≤p,所以考虑用i来表示p,并要求表示出来的所有数都能用p和i表示。
设p=ki+b,k=?pi?,l=pmodip=ki+b,k=\lfloor{p\over i}\r...
分类:
其他好文 时间:
2016-08-15 22:29:52
阅读次数:
361
bzoj3479[Usaco2014 Mar]Watering the Fields 题意: 草坪上有N个水龙头,修剪两个水管费用为欧几里得距离的平方。 修水管的人只愿意修费用大于等于c的水管,问将水龙头联通的最小总费用。N≤2000 题解: 最小生成树。 代码: 20160810 ...
分类:
其他好文 时间:
2016-08-14 07:55:28
阅读次数:
151
扩展欧几里得算法,可以在计算gcd(a,b)的同时,计算出 ax+by=gcd(a,b)中a、b的值 ...
分类:
编程语言 时间:
2016-08-11 13:08:10
阅读次数:
180
题目大意: 已知线性方程ax+by=1; 输入a, b的值, 要求输出整数解x, y的值(输出x, y的最小整数解), 若没有解, 输出"sorry". 分析: 求线性方程的解用扩展欧几里得算法,令gcd(a,b)=d, 如果1是d的倍数表示方程有解, 否则无解. 代码如下: 1 #include ...
分类:
其他好文 时间:
2016-08-07 21:37:21
阅读次数:
148
欧几里德算法(求最大公约数): 顺便写下求最小公倍数(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
题意;要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。 因为:A%9973=n; 所以:9973*y+n=A: 设:A/B=x;(可以整除) 所以:9973*y+n=B*x; 所以:B*x-9973*y=n; ① ...
分类:
其他好文 时间:
2016-08-02 11:07:49
阅读次数:
152
欧几里得算法。可以发现规律,a[2]作为分母,其他作为分子,必定是最好的选择。判断是否为整数即可。 1385: [Baltic2000]Division expression Description 除法表达式有如下的形式: X1/X2/X3.../Xk 其中Xi是正整数且Xi<=100000000 ...
分类:
其他好文 时间:
2016-08-01 00:13:19
阅读次数:
118