扩展欧几里得。 枚举a,根据x1,x3和递推式可得。 (a+1)*b-k*mod=f[3]-a*a*b. 通过扩展欧几里得求出b. 带入原式进行计算。 #include #include #include using namespace std; const int maxn = 20000 + 1... ...
分类:
其他好文 时间:
2016-06-10 11:00:33
阅读次数:
149
题意:已知青蛙1位置x,速度m,青蛙2位置y,速度n,纬线长度为l,求他们相遇时最少跳跃次数。 思路:设最小跳跃次数为k,则(x + k*m) - (y + k*n) = q*l;经过整理得到k*(n-m) + q*l = y - x;此时k和l为变量。欧几里得扩展中有线性方程a*x+b*y = c ...
分类:
其他好文 时间:
2016-06-08 18:52:38
阅读次数:
197
w2w原创 1.欧几里得定理 int gcd(int a, int b){ return b==0?a:gcd(b, a%b); } 2.扩展欧几里得(求ax+by = gcd(a,b)的特解) void e_gcd(LL a, LL b, LL &d, LL &x, LL &y){ if(b==0 ...
分类:
其他好文 时间:
2016-06-07 08:55:11
阅读次数:
238
欧几里得算法 定义:欧几里得算法又叫做辗转相除法,用于计算两个整数的最大公约数。 首先,两个整数的最大公约数等于其中较小的那个数和两数的相除余数的最大公约数,证明如下: 假设两个整数a、b,其中a = kb + r,d为a、b任意公约数。 证明:因为d为a、b的公约数,所以a、b都可以被d整除,由a ...
分类:
编程语言 时间:
2016-05-27 23:43:45
阅读次数:
246
Romantic Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4400 Accepted Submission(s): 1852 Proble ...
分类:
其他好文 时间:
2016-05-25 20:43:37
阅读次数:
215
微机原理:8086算术指令,跳转指令 操作系统:进程调度算法,银行家算法 python:列表,字典,类与对象 算法:数论(扩展欧几里得,一元线性同余方程组) 在hihocoder上学习这两个,一元线性那题最大公约数变量用着用着就写乱了,查代码能力还有待加强。。。 数论学起来压力好大 扩展欧几里得: ...
分类:
其他好文 时间:
2016-05-23 22:34:25
阅读次数:
206
青蛙的约会 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status Practice POJ 1061 青蛙的约会 Submit Status Practice POJ 1061 Descr ...
分类:
其他好文 时间:
2016-05-20 22:27:17
阅读次数:
226
由于本人愚笨,最后一题实在无力AC,于是只有前14题的题解Orz 总的来说,这次模拟赛的题目不算难,前14题基本上一眼就有思路,但是某些题写起来确实不太容易,编码复杂度有点高~ L1-1 N个数求和 设计一个分数类,重载加法运算符,注意要约分,用欧几里得算法求个最大公约数即可。 L1-2 比较大小 ...
分类:
其他好文 时间:
2016-05-17 00:47:22
阅读次数:
220
这道题目solution写了两种做法,都讲一下吧。
首先,令x=r^0.5,显然,如果x>2,则可以不断减2到小于二;如果x>1,那么变为2-x。因此此时必有x
题目等价于在数轴从0~n,以y长度为一个区间(左闭右开)黑白交替染色,求黑色部分覆盖的整点减去白色部分覆盖的整点。然后把最后面零散的部分暴力计算,如果最后一个是黑色的也暴力计算。那么这个时候黑白段数相等,且...
分类:
编程语言 时间:
2016-05-13 01:05:04
阅读次数:
177