如果读者做过 Usaco 4.1.1 Beef McNuggets,那么一定会对这道题正解中的神奇的范围产生疑问,鄙人不才,也一直没有弄懂这个问题,直到有一天,WYT(无用彤) found out a very very simple article in the Internet,我才知道了证明。
有p,q两个正整数且gcd(p,q)=1
那么最大的无法用px+qy(x,y>=0)的正整数是p×q-p-q。
大于p×q-p-q的正整数都可以用px+qy的形式表示。
update 2018.3.14
这篇博客是好久前写的了,囿于之前的水平太低了,所以有很多错误(还未完成),给读者带来不便请谅解。
相信现在看到这东西的人都知道NOIP2017 D1 T1。
博主很幸运,记住了结论,秒了这题,但是博主也很倒霉,机房里的%lld用不了,博主用了%I64d成功爆零。
现在重新修正一下证明。
我们知道条件gcd(p,q)= 1
这说明i*p mod q (0 <= i <= q - 1)是互不相同的。
设某一数是n。
那么n = k*p(mod q)(0 <= k <= q - 1),我想这个应该没有什么问题。
如果n >= k *p, n = k *p +q*t(t >= 0)
要不能表示,n最大取k*p - q
当k取q - 1时,n最大是(q - 1) *p - q = p *q - p -q