码迷,mamicode.com
首页 > 其他好文 > 详细

luogu2951 noip2017 小凯的疑惑

时间:2017-12-01 13:36:58      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:clu   a*   div   调整   noip   code   math   display   gcd   

在考场上我们可以打表发现规律是 $ ab-a-b $ 。下面给出证明(看的网上的)。

若有正数 $ x $ 不能被 $ a $ , $ b $ 组合出,假设 $ a>b $ ,则存在

\[ x=ap+bq=a(p-b)+b(q+a) \]

其中 $ p>0, q<0, p-b<0, q+a>0 $ 。

为什么呢?如果学过exgcd的话,很容易理解上述形式。$ (p,q) $ 是一组解的话,则 $ (p-b,q+a) $ 是最接近的另一组解。$ p>0 $ 而 $ q<0 $,我们自然想要把 $ p $ 放小一点而把 $ q $ 放大一点。然而,即使是稍微一调整,也无法满足,则 $ x $ 是拼不出的。

于是 $ 0<p<b $ , $ -a<q<0 $,则 $ x $ 最大当 $ p=b-1 $ 且 $ q=-1 $,此时 \[ x=a(b-1)-b=ab-a-b \]
证毕。

#include <iostream>
#include <cstdio>
using namespace std;
long long a, b;
int main(){
    cin>>a>>b;
    cout<<a*b-a-b;
    return 0;
}

luogu2951 noip2017 小凯的疑惑

标签:clu   a*   div   调整   noip   code   math   display   gcd   

原文地址:http://www.cnblogs.com/poorpool/p/7941287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!