题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576 题意:要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。 普通版欧几里得算法(辗转相除): 扩展欧几里得算法( ...
分类:
编程语言 时间:
2017-05-24 09:59:39
阅读次数:
278
欧几里得算法:也被称作辗转相除法 gcd(a,b)=gcd(b,a%b); 终止条件a=gcd b=0; (gcd为a,b的最大公约数) 扩展欧几里得算法: a 和 b 的最大公约数是 gcd ,一定能够找到这样的 x 和 y ,使得: a*x + b*y = gcd 成立 我们只需要找到特殊解x0 ...
分类:
编程语言 时间:
2017-05-23 00:33:19
阅读次数:
191
很开拓眼界的题。。 题意:给出一个n元一次方程形如a1*x1+a2*x2...+an*xn=B,求满足解集为非负整数的B值在[L,R]范围内的种数。(n<=12,ai<=5e5,L<=R<=1e12) 如果要求解集可以为负数,那么根据扩展欧几里得即可快速得到答案。 现在的问题更像一个多重背包,但是L ...
分类:
其他好文 时间:
2017-05-22 15:02:22
阅读次数:
165
注意2^32用long long其他没坑,扩展欧几里得,,,反正我没想到 ...
分类:
其他好文 时间:
2017-05-22 11:02:44
阅读次数:
164
题目大意&&分析: 这两行用于求出最小正整数解,ax+by=c; a,b互素,则ax1+by1=ax2+by2;那么(x1-x2)一定是b的整数倍, 所以当x>0时,x%b即为所求; x<0时,x%b+b即为所求,二者综合就是(x%b+b)%b可以得出最小正整数解; ...
分类:
其他好文 时间:
2017-05-21 11:44:43
阅读次数:
123
逆元: 丢线 对于正整数和,如果有,那么把这个同余方程中的最小正整数解叫做模的逆元。 逆元一般用扩展欧几里得算法来求得,如果为素数,那么还可以根据费马小定理得到逆元为。 推导过程如下 求现在来看一个逆元最常见问题,求如下表达式的值(已知)(|为整除号) 当然这个经典的问题有很多方法,最常见的就是扩展 ...
分类:
其他好文 时间:
2017-05-20 22:41:20
阅读次数:
331
欧几里得gcd(a,b)=gcd(b,a%b)=...... 因为ax≡1(mod b) -》ax%b=1%b=1 所以ax+by=1,因为y是整数所以加个by就相当于%b(因为%b的本质是+上y个b),所以两个式子等价 由扩展欧几里得得 ax+by=gcd(a,b)=gcd(b,a%b)=bx+( ...
分类:
其他好文 时间:
2017-05-19 17:49:56
阅读次数:
118
题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开。 输出格式: 输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。 1 #include < bits/stdc++ ...
分类:
其他好文 时间:
2017-05-15 19:45:06
阅读次数:
125
扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式: ax+by = gcd(a, b) =d(解一定存在,根据数论中的相关定理)。 扩展欧几里德常用在求解模线性方程及方程组中。 首先,证明一下gcd(a,b)==gcd(b,a%b) 设gcd(a,b) = ka = n1 * ...
分类:
其他好文 时间:
2017-05-13 19:11:52
阅读次数:
168
Invoker Problem Description On of Vance's favourite hero is Invoker, Kael. As many people knows Kael can control the elements and combine them to invo ...
分类:
其他好文 时间:
2017-05-08 12:29:46
阅读次数:
294