[ARC127F] ±AB

发布时间 2023-10-18 22:20:23作者: SError

[ARC127F] ±AB

给定整数 \(a,b,v,m\),保证 \(a\perp b\).

初始有一个数 \(x=v\),可以不断令其加上或减去 \(a\)\(b\).

过程中必须有 \(x\in[0,m]\),问 \(x\) 有多少种可能的取值。

多测。\(T\le 10^5\)\(1\le a<b\le m\le 10^9\)\(0\le v\le m\).


由于 \(a\perp b\),当 \(m\) 极大时答案一定为 \(m+1\),考虑这个下界。

\(m\ge a+b-1\) 时,答案为 \(m+1\).


此时 \(m\le a+b-2\),可以得到两种操作序列:

  • \(+a\)\(+a\),能 \(-b\)\(-b\).

  • \(+b\)\(+b\),能 \(-a\)\(-a\).

一种操作不会经过重复的数。

若出现环,则存在 \(xa+yb=0\),环的大小至少为 \(a+b\).

\(m\le a+b-2\) 矛盾。

两种操作序列经过的数不重合。

显然,如果两者出现重合,则一定有环。