话说以前我刷noip题的时候就想学这个东西了,结果却一直拖到了现在…… 到了高二才会这种东西的我实在是个蒟蒻啊! 将扩展欧几里得算法之前,先讲讲欧几里得算法是什么:gcd(a,b)=gcd(b,a%b)。很显然是不?但我们还是要给出证明(设r=a%b): 设x是a,b的一个公约数,由于存在k使得a= ...
分类:
编程语言 时间:
2016-09-06 23:03:51
阅读次数:
170
题目链接 http://acm.hust.edu.cn/vjudge/problem/19592 解题思路 一般容易想到扩展欧几里得算法。 代码 ...
分类:
其他好文 时间:
2016-09-02 23:18:17
阅读次数:
131
扩展欧几里得 求二元一次不定式方程 的一组解。 int exgcd(int a,int b,int &x,int &y) { int t; if(!b) {x=1;y=0;return a;} t=exgcd(b,a%b,y,x); y-=(a/b)*x; return t; } 线性筛质数 维护一... ...
分类:
其他好文 时间:
2016-08-31 21:56:24
阅读次数:
195
扩展欧几里得 求二元一次不定方程的一组解。 当时,有一组解 ; 当时,因为 , 所以设满足, 则 , 整理得 。 所以。 就可以在求gcd的过程中得到一组解。 inline int exgcd(int a,int b,int &x,int &y){ if(!b){ x=1;y=0;return a;... ...
分类:
其他好文 时间:
2016-08-30 00:26:22
阅读次数:
175
定理:对不全为0的数a,b,存在整数x,y使得 ax+by=gcd(a,b) 可使用扩展欧几里得算法来求解x,y 1.求解二元不定方程 ax+by=n 结论:方程有解得充分必要条件是gcd(a,b)|n.若(x0,y0)是方程的一组解,则方程全部解可以表示为:x=x0+b*k,y=y0-a*k, ( ...
分类:
编程语言 时间:
2016-08-23 18:49:36
阅读次数:
146
题目链接: http://codeforces.com/problemset/problem/710/D 题目大意: 两个等差数列a1x+b1和a2x+b2,求L到R区间内重叠的点有几个。 0?<?a1,?a2?≤?2·109, -?2·109?≤?b1,?b2,?L,?R?≤?2·109,?L?≤ ...
分类:
其他好文 时间:
2016-08-23 16:45:06
阅读次数:
271
C Looooops Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 23700 Accepted: 6550 Description A Compiler Mystery: We are given a C-language s ...
分类:
其他好文 时间:
2016-08-17 13:40:30
阅读次数:
117
转自: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