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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值