1. 程式人生 > >luogu2951 noip2017 小凱的疑惑

luogu2951 noip2017 小凱的疑惑

down isp display 打表 () return div esp -m

在考場上我們可以打表發現規律是 $ 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 小凱的疑惑