P3951 小凯的疑惑

传送门

题意:给出两个互质的正整数 \(a,b\)。求出最大的不能被表示为 \(ax+by\)\(x,y\ge 0\) 的数。

结论:答案为 \(ab-a-b\)

证明:不妨 \(a<b\)。设 \(k\) 为答案。则 \(k+a\) 肯定能被表示。(\(k\) 最大)

\(k+a=ax+by|x,y\ge 0\)。所以 \(k=a(x-1)+by\)。因为 \(k\) 不能被表示,所以 \(x-1<0\),即 \(x=0\)

\(k=by-a\),设 \(y=a+n\),其中 \(n\ge -a\)。(因为 \(y\ge 0\)

\(k=b(a+n)-a=ab-a+nb\),因为 \(k\) 不能表示,\(ab-a\) 能表示,所以 \(nb\) 不能表示,所以 \(n<0\)

\(n=-1\)\(k\) 取到最大值。所以答案为 \(ab-a-b\)


另一种理解方式:同余最短路。

建立 \(b\) 个点,第 \(i:0\sim b-1\) 个点表示一个模 \(b\)\(i\) 的同余类。

假设答案模 \(b\)\(k\),则答案一定等于 \(dis_k-b\)\(dis_k\) 取最大值为 \(a(b-1)\),因为 \((a,b)=1\Rightarrow \text{这张图是一个环}\)

\(i\)\((i+a)\bmod b\) 连长度 \(a\) 的边。从 \(0\) 出发跑最短路。

此时 \(dis_i\) 就表示 \(x\bmod a=0\)\(x\bmod b=i\) 的最小的自然数 \(x\) 等于多少。

posted @ 2024-03-04 20:55  FLY_lai  阅读(8)  评论(0编辑  收藏  举报