暴力
先考虑一种暴力解法:使用类似于NOIP2018D1T2的完全背包,枚举a和b的个数。不过,我们很快发现不能表出的值在增大,却又无法确定何时最大。至少这个思路提供了一个大致方向:枚举。
假设对于一个需被表出的面额k,先枚举b的个数,再确定余下(k-yb\,(yinmathbb{N}))能否被a整除。这就出现了一个性质:
[(k-yb)\,mod\,b=k\,mod\,b
]
考虑对模b的余数进行处理:多加几个b,直到它能被a整除为止。
具体地说,我们需要确定最小的自然数n,使(a|(nb+k\,mod\,b))。这时可明确,最大值一定存在。
证明:(0,a,2a,3a...(b-1)a) 分别(\,mod\,b),所得余数一定与([0,b-1])一一对应。
假设(paequiv qa\,(mod\,b)\,(p<q,p,qin [0,b-1])),必有(b|(q-p)a),由a b互质得出(b|(q-p))。但又有(q-p<b),矛盾。
故(forall kin (ab-a,infty)),存在(min [0,b-1])使得(maequiv k\,(mod\,b)),推得(k-maequiv0\,(mod\,b)),则(k=ma+frac{k-ma}{b} imes b)。
此时已确定([ab-a,infty))皆可被表出。
更进一步
之后的事就很简单了。为方便研究,不妨设(a<b)
(ab-a)覆盖的余数为(b-a),意味着模b得其他余数的k皆可被表出。
而上一个模b得到(b-a)的数,就是第一个不可被表出的数了。即答案为
[ab-a-b
]