摘要:
设A/B=x,则A=Bx n=A%9973=A-9973*y=Bx-9973*y 用扩展欧几里德求解 阅读全文
摘要:
题意:有两种类型的砝码,每种的砝码质量a和b给你,现在要求称出质量为c的物品,要求a的数量x和b的数量y最小,以及x+y的值最小。 用扩展欧几里德求ax+by=c,求出ax+by=1的一组通解,求出当x取最小合法正整数解时y的取值,当y小于0时,说明应该放在a的另一边,变为正值。同理当y取最小时,可 阅读全文
摘要:
根据欧几里德算法,gcd(a,b)=gcd(a+b*t,b) 如果a和b互质,则a+b*t和b也互质,即与a互质的数对a取模具有周期性。 所以只要求出小于n且与n互质的元素即可。 也可以用欧拉函数求小于n且与n互质的元素。就不用O(N)了。速度提高10倍左右。 阅读全文
摘要:
裸欧拉函数。 阅读全文
摘要:
裸的扩展欧几里德,求最小的X,X=((X0%b)+b)%b,每个X都对应一个Y,代入原式求解可得 阅读全文
摘要:
设跳的次数为t 根据题意可得以下公式:(x+mt)%L=(y+nt)%L 变形得 (x+mt)-(y+nt)=kL (n-m)t+kL=x-y 令a=(n-m),b=L,c=x-y 得 at+bk=c 此时就相当于求解二元不定方程ax+by=c的最小整数解 1、先计算Gcd(a,b),若n不能被Gc 阅读全文
摘要:
什么叫乘法逆元? 这里,我们称 x 是 a 关于 m 的乘法逆元 这怎么求?可以等价于这样的表达式: a*x + m*y = 1 怎么求逆元? 1,扩展欧几里德算法求逆元 2,如果为素数,那么还可以根据费马小定理得到逆元为。 推导过程如下 根据上式,若求ans=(a/b) mod m,可转换成求a* 阅读全文
摘要:
有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做? 欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的时间复杂度里求解出来 a 和 阅读全文
摘要:
从A出发到D,必定有从AB某个点E出发,从某个点F进入CD 故有E,F两个不确定的值。 在AB上行走的时间 f = AE / p 在其他区域行走的时间 g = EF / r 在CD上行走的时间 h = FD / q 总时间 T = f + g + h 当E确定时,T1 = g + h + C 此时g 阅读全文
摘要:
一个人站在(0,0)处射箭,箭的速度为v,问是否能够射到(x,y)处,并求最小角度。 首先需要判断在满足X=x的情况下最大高度hmax是否能够达到y,根据物理公式可得 h=vy*t-0.5*g*t*t vx=v*cos(a) vy=v*sin(a) t=x/vx 由此可推出:h=x*tan(a)-( 阅读全文