原题:

小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。

a,b<=10^9

结论题,记得我当时在现场大力打表做出来了

听说好像还是小学奥数题

不过数论推结论不难

由裴蜀定理及其引理,因为gcd(a,b)=1,所以对于任意整数c,都存在整数x和y满足ax+by=c

既然丢番图方程有解,为什么还会存在不能支付的价格?

因为丢番图方程允许有负解,但是支付的时候不能付负数的钞票(那样大概算找钱吧)

所以目标转化为,寻找最大的整数c,使得不存在非零整数x和y,满足ax+by=c

联想到解丢番图方程时对于负解向正解的转化

丢番图方程存在通解:x0+k*(b/d),y0-k*(a/d),其中d=gcd(a,b)

那么可以发现存在C使得当c>C时方程有正整数解的原因

因为当c很大,x0就可以很大,那么即使y0是负值,也能通过让x0减少,y0增加的方式调整,使得x0和y0都是赋值

这启发我们找到一个思路:对于一个正整数x0,检查所有不能通过调整来达到整数的y0的特点

因为d=1,所以方程的通解实际为x0-k*b,y0+k*a

x0在保证自身不为负的情况下最多给y0提供⌊x0/b⌋*a

当y0+⌊x0/b⌋*a<0,也就是y0<-⌊x0/b⌋*a时,a*x0+b*y0=c没有正整数解

则c<=a*x0+b*(-⌊x0/b⌋*a-1)=a*x0-a*b*⌊x0/b⌋-b=a*(x0-b*⌊x0/b⌋)-b=a*(x0%b)-b

由于x0是任意正整数,所以x0%b的最大值为b-1

所以c的最大值为a*(b-1)-b=a*b-a-b

代码就两行,不贴了

【NOIP2017】小凯的疑惑的更多相关文章

  1. 【比赛】NOIP2017 小凯的疑惑

    找规律:ans=a*b-a-b 证明:(可见 体系知识) gcd(A, B) = 1 → lcm(A, B) = AB 剩余类,把所有整数划分成m个等价类,每个等价类由相互同余的整数组成 任何数分成m ...

  2. 联赛膜你测试20 T1 Simple 题解 && NOIP2017 小凯的疑惑 题解(赛瓦维斯特定理)

    前言: 数学题,对于我这种菜B还是需要多磨啊 Simple 首先它问不是好数的数量,可以转化为用总数量减去是好数的数量. 求"好数"的数量: 由裴蜀定理得,如果某个数\(i\)不能 ...

  3. NOIP2017 小凯的疑惑

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...

  4. NOIP2017 小凯的疑惑 解题报告(赛瓦维斯特定理)

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...

  5. 题解【洛谷P3951】[NOIP2017]小凯的疑惑

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...

  6. luogu2951 noip2017 小凯的疑惑

    在考场上我们可以打表发现规律是 $ ab-a-b $ .下面给出证明(看的网上的). 若有正数 $ x $ 不能被 $ a $ , $ b $ 组合出,假设 $ a>b $ ,则存在 \[ x= ...

  7. luogu 3951 小凯的疑惑

    noip2017 D1T1 小凯的疑惑 某zz选手没有看出这道结论题,同时写出了exgcd却不会用,只能打一个哈希表骗了30分 题目大意: 两个互质的正整数a和b,求一个最小的正整数使这个数无法表示为 ...

  8. Luogu [P3951] 小凯的疑惑

    题目详见:[P3951]小凯的疑惑 首先说明:此题为一道提高组的题.但其实代码并没有提高组的水平.主要考的是我们的推断能力,以及看到题后的分析能力. 分析如下: 证明当k>ab-a-b时,小凯可 ...

  9. NOIP 2017 小凯的疑惑

    # NOIP 2017 小凯的疑惑 思路 a,b 互质 求最大不能表示出来的数k 则k与 a,b 互质 这里有一个结论:(网上有证明)不过我是打表找的规律 若 x,y(设x<y) 互质 则 : ...

  10. 2017提高组D1T1 洛谷P3951 小凯的疑惑

    洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...

随机推荐

  1. python3.7环境下创建app、运行Django1.11版本项目报错Generator expression must be parenthesized

    有些同学喜欢追求新鲜感~但追求新鲜感终归是要付出一点点代价的 在编程领域有一句至理名言:用东西不要用最新的! 就像每次苹果系统的升级都会有相当一部分用户的手机成砖一样 下面我们就介绍一个因版本升级带来 ...

  2. day32 网络编程之粘包问题

    1.最大半连接数 什么是最大半连接数 半连接:在进行TCP协议通信时,客户端与服务器端进行三次握手建立连接,但是有时客户端与服务器端进行了连接申请,服务器端也同意了申请(既已经完成三次握手的两次),此 ...

  3. CGI 萃取技术 __type_traits

    前言 上一篇文章讲了 iterator_traits 的编程技法,非常棒适度弥补了 C++ 语言的不足. STL 只对迭代器加以规范,制定了 iterator_traits 这样的东西. CGI 把这 ...

  4. 在docker容器下安装airflow

    本人的环境是基于centos7下来安装的 一.安装docker  下载docker安装包,下载地址:https://download.docker.com/linux/static/stable/x8 ...

  5. 【Python】【基础知识】【内置常量】

    Python的内置常量有: False.True.None.NotImplemented.Ellipsis.__debug__ 由 site 模块添加的常量:quit.exit.copyright.c ...

  6. Qt5笔记(一)

      1.  只要指定父对象,直接或间接继承于QObect,那么子对象如果是动态分配空间,不需要手动释放内存,系统会自动释放.( Qt的内存回收机制) 2.  想要查看某个函数,可以F1进入帮助文档,连 ...

  7. 带坑使用微信小程序框架WePY组件化开发项目,附带第三方插件使用坑

    纯粹用来记录wepy及相关联内容,以防再犯~ 1. 接手的wepy项目版本是 1.7.2 ,so我没有初始化的过程.... 2. 安装wepy命令工具,npm install wepy-cli -g ...

  8. centos7上搭建NFS的实践

    NFS 即network file system 可用于向k8s集群提供持久存储 最小化安装centos后  把网卡设置好了后 1.关闭防火墙 [root@NFS ~]# systemctl stop ...

  9. IDirect3DSurface9的D3DFORMAT格式

    /* Formats * Most of these names have the following convention: * A = Alpha * R = Red * G = Green * ...

  10. Function(Of T) as T 泛型类型多态返回对象的实现

    Shared Function ResultT(Of T As result)(msg As String, Optional success As Boolean = False) As T Dim ...