仓鼠大神博客:http://www.cnblogs.com/linyujun/p/5194184.html http://www.cnblogs.com/linyujun/p/5194170.html ①gcd 一行版: 位运算版: ②快速幂和快速乘 ③扩展欧几里得(扩展gcd) ④乘法逆元 扩展欧 ...
分类:
编程语言 时间:
2017-07-14 23:58:51
阅读次数:
389
(A/B)%9973=K A/B=K+9973*X A=BK+9973*X*B A%9973=n; BK%9973=n; BK=n+9973*Y (K/n)*B+(-Y/n)*9973=GCD(B,9973)=1; 求出k/n,求出k ...
分类:
其他好文 时间:
2017-07-09 21:58:21
阅读次数:
113
看了半天的同余 扩展欧几里得 练练手 C Looooops Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 27079 Accepted: 7690 Description A Compiler Mystery: We are g ...
分类:
其他好文 时间:
2017-07-07 20:01:22
阅读次数:
199
做oi题目的时候,遇到数论题会令我兴奋不已。 这一篇让我来聊一聊我学过的gcd,lcm,扩展欧几里得算法,逆元,组合数等。 这篇贴的代码都是未经过编译运行的,所以如果有错或有疑问请评论。 恩 那么什么是数论 和数学有关的非几何都是数论? 嘛,我也不知道定义,那么就草率地认为所有和数学有关的非计算几何 ...
分类:
其他好文 时间:
2017-07-04 23:18:47
阅读次数:
209
扩展欧几里德 ax=b(mod c),求最小的x 先说一下扩展欧几里得定理:对于不完全为0的整数a,b,gcd(a,b)表示a,b的最大公约数。那么一定存在整数x,y使得gcd(a,b)=ax+by。 求解x,y方法:设 a>b。 1,显然当b=0,gcd(a,b)=a。此时x=1,y=0; 2,a ...
分类:
其他好文 时间:
2017-06-22 18:43:59
阅读次数:
192
题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开。 输出格式: 输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。 输入输出样例 输入样例#1: 3 10 输出样例 ...
分类:
其他好文 时间:
2017-06-06 15:47:58
阅读次数:
256
题目链接:http://poj.org/problem?id=1061 大概推导一下可以得出一个同余数的方程 (x - y) + (m - n) * k = L * s, 即左边是L的倍数 然后移项可以得到 (n - m)*k + L * s = x - y, 也就是a * x + b * y = ...
分类:
其他好文 时间:
2017-05-31 20:13:28
阅读次数:
177
http://poj.org/problem?id=2142 题意:给出a,b,d<=5e5,问满足x,y>=0,ax+by=d && |x|+|y| 尽量小x,y都为正表示 a,b在c的另外一边.x,y一正一负表示a,b不在同一边 利用exgcd 求出x,y 另x或者y为最小正整数解,带入方程后求 ...
分类:
其他好文 时间:
2017-05-29 19:20:22
阅读次数:
214
http://poj.org/problem?id=2115 题意:给出a,b,c<=1e9,k<=32 求出p 使得 (a+pc)mod2^k=ba+pc同余b(mod2^k) 2^kx=a+pc-b -> 2^kx-pc=a-b 利用exgcd求出x,p即可 最小正整数解x=x0+(k/d)*n ...
分类:
其他好文 时间:
2017-05-25 13:39:02
阅读次数:
188