设A/B=x,则A=Bx n=A%9973=A-9973*y=Bx-9973*y 用扩展欧几里德求解 ...
分类:
其他好文 时间:
2016-07-30 13:38:26
阅读次数:
139
地址:http://acm.hdu.edu.cn/showproblem.php?pid=5768 Lucky7 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...
分类:
其他好文 时间:
2016-07-30 00:23:52
阅读次数:
250
题意:有两种类型的砝码,每种的砝码质量a和b给你,现在要求称出质量为c的物品,要求a的数量x和b的数量y最小,以及x+y的值最小。 用扩展欧几里德求ax+by=c,求出ax+by=1的一组通解,求出当x取最小合法正整数解时y的取值,当y小于0时,说明应该放在a的另一边,变为正值。同理当y取最小时,可 ...
分类:
其他好文 时间:
2016-07-29 21:18:57
阅读次数:
199
什么叫乘法逆元? 这里,我们称 x 是 a 关于 m 的乘法逆元 这怎么求?可以等价于这样的表达式: a*x + m*y = 1 怎么求逆元? 1,扩展欧几里德算法求逆元 ...
分类:
其他好文 时间:
2016-07-28 15:16:03
阅读次数:
136
有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做? 欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的时间复杂度里求解出来 a 和 ...
分类:
编程语言 时间:
2016-07-28 14:26:20
阅读次数:
227
mod: 扩展欧几里德算法,而我没有复习,暴力的60 事后后悔死 classroom: 线段树得90,T两个点。代码与问题如下: 另,正解是二分订单,如下: blockade: 惊呆,看标答都看了1小时...借大神的程序配大神的注释与自己的理解。 ...
分类:
其他好文 时间:
2016-07-22 22:52:18
阅读次数:
261
欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a ...
分类:
编程语言 时间:
2016-07-12 21:17:25
阅读次数:
235
?扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式: ax+by = gcd(a, b) = d(解一定存在,根据数论中的相关定理)。扩展欧几里德常用在求解模线性方程及方程组中。 ?设 a>b。 ?1,显然当 b=0,gcd(a,b)=a。此时 x=1,y=0; ?2,ab<> ...
分类:
其他好文 时间:
2016-07-10 15:16:54
阅读次数:
142
数学渣渣愉快的玩了一把数论,来总结一下几种常用的算法入门,不过鶸也是刚刚入门,
所以也只是粗略的记录下原理,贴下模板,以及入门题目(感受下模板怎么用的)
一、同余定理
简单粗暴的说就是:若 a-b == m 那么 a%m == b%m
这个模运算性质一眼看出。。。直接上入门水题:
Reduced ID Numbers
附AC代码(这个也没啥模板。。。。知道就好)
#includ...
分类:
其他好文 时间:
2016-07-09 20:56:07
阅读次数:
516
分析:这个题主要考察的是对线性同余方程的理解,根据题目中给出的a,b,c,d,不难的出这样的式子,(a+k*c) % (1<<d) = b; 题目要求我们在有解的情况下求出最小的解,我们转化一下形式。 上式可以用同余方程表示为 a + k*c = (b) % (1<<d) <--> k*c = (b ...
分类:
其他好文 时间:
2016-06-10 19:08:24
阅读次数:
156