zoukankan      html  css  js  c++  java
  • 洛谷P3951 小凯的疑惑

    传送门

    题意:求出a和b不能通过线性组合(即n*a+m*b)得到的最大值;

    思路:摘自洛谷;

     不妨设 a<b

     假设答案为 x

     若

      xm*( mod b )(1mb1)

    *注:     1+3m=1(mod3)什么意思?
            【答】:
              后面的 mod 3 表示:相对于 3 的模,即用 3 来除,得到相应的余数
              举例来说,1+3m=1(mod3),1+3m 用 3 来除 的余数是 1

     即

      x=m*a+n*(1mb1)

    显然当n0 时 x 可以用 a,b 表示出来,不合题意。

    因此当 n = -1 时 x 取得最大值,此时 x=m*ab 。

    显然当 m 取得最大值b1 时 x 最大,此时 (b1) *− ba*bab

    因此 a,b 所表示不出的最大的数是a*bab

    #include <iostream>
    using namespace std;
    
    typedef long long ll;
    
    int main(){
        ll a,b;
        cin>>a>>b;
        cout<<a*b-a-b<<endl;
    }

     

  • 相关阅读:
    代码解析&Filter用户授权例子
    session
    软件工程结对作业2
    软件工程结对作业1
    软件工程第三次作业
    软件工程第二次作业
    软件工程第一次作业
    KMP算法
    哈希表
    Mysql事物隔离级别
  • 原文地址:https://www.cnblogs.com/ckxkexing/p/8596188.html
Copyright © 2011-2022 走看看