天天看點

luogu P1516 青蛙的約會

最近想刷一刷數論的題,就先找了道簡單的入手。

這一看就是exgcd求不定方程。

首先可以列出來:x + m * k ≡ y + n * k (mod L)

     化簡:x + m * k - y - n * k = p * L

        (m - n) * k - p * L = y - x

令a = m - n, b = L, c = y - x,于是

        a * k - b * p = c

首先要保證a,b是正的。

代入exgcd求得ak + bp = 1的解k', p',在gcd(a, b) | c的情況下,得出解k = k' * c / gcd(a, b)。

最小整數解就是(k + m) % m。

luogu P1516 青蛙的約會
luogu P1516 青蛙的約會

View Code

繼續閱讀