随笔分类 - 数论 扩展欧几里得算法
摘要:题目链接 题目大意: 人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天。一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最好。通常这三个周期的峰值不会是同一天。现在给出三个日期,分别对应于体力,情感,智力出现峰值的日期。然后再给出一个起始日期,要求从这一天
阅读全文
摘要:题目链接 题目大意是说要求一个最小正整数x使得ax%b=1。那么这个形式很容易联想到的就是乘法逆元,因为1%b=a/a%b=1,所以x就是a关于b的最小正整数逆元,用扩欧求一下就可以了。 注意求出来的x不一定是最小正整数答案,还要进行一步(x%b+b)%b的操作。 代码: 1 #include<cs
阅读全文
摘要:扩展欧几里得的模板题,要记住: x=y1; y=x1-a/b*y1。 这道题的推导过程如下: 1.因为A/B==0,所以令A/B=x,即A=Bx。又因为n=A%m,所以m*y+n=A。 由上面可推导出Bx-my=n。 2.由扩展欧几里得算法可以算出B*x1+m*y1=1的根,等式两边同时乘上n可以变
阅读全文