Usaco Beef McNuggets——当Gcd(p,q)=1时,最大无法表示成px+qy(x,y>=0)的数是pq-p-q

如果读者做过 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

你可能感兴趣的:(USACO)