
数论(拓展欧几里德算法)
funny king_123
oier
展开
-
青蛙的约会 解题报告
题面:我们把这两只青蛙分别叫做青蛙 A 和青蛙 B,并且规定纬度线上东经 0 度处为原点,由东往西为正方向,单位长度 1 米,这样我们就得到了一条首尾相接的数轴。设青蛙 A 的出发点坐标是 x,青蛙 B 的出发点坐标是 y。青蛙 A 一次能跳 m 米,青蛙 B 一次能跳 n 米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。解:1、不难推出式子k(n-m)-lz=-(x-y),即ax+by=c,可以用exgcd求解。但是需要注意正负,exgcd只限于正整数,保证(原创 2022-03-03 20:00:13 · 209 阅读 · 0 评论 -
P1082 [NOIP2012 提高组] 同余方程解题报告
拓展欧几里得的板子题题面描述:题目描述求关于x的同余方程ax≡1(mod b) 的最小正整数解。解:先求ax+by=1的一组解,显然exgcd可以求。再求最小解。设x1,y1为ax+by的一组解,即ax1+by1=1。y1=(1-ax1)/b.显只有x累加b或者累减b即为最小解。代码如下`#include<bits/stdc++.h>using namespace std;typedef long long ll;ll a,b;void exgcd(ll &x,l原创 2022-03-03 18:31:24 · 195 阅读 · 0 评论