题目描述

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

这是今年NOIP的第一题,也是断送我OI生涯的一道题目。这是我记忆中NOIP第一次出现结论题,也是我唯一做不出来的第一题。身边的大佬一个个秒掉了它,兄弟学校的同学也几乎都YY出了正解。就我特么一个30分,然后T2,T3又写爆,Day1爆萎,一百分出头,于是就注定退役了。

还是先说说这道题目吧,其实就是要你求一个使得如下不定方程:

​ \(a_1x_1+a_2x_2=c\) \(((a_1,a_2)=1)\)

无非负整数解的最大\(c\) 。结论很简单:

​ \(c=a_1a_2-a_1-a_2\)

这个结论的形式还是非常优美的,根据一些小数据其实很容易推出来。然而我比较脑残,并不能看出来。但正确性并不显然,我试着用ex_gcd推了一下,好像并没有发现什么很好的思路。后来在《初等数论》中找到了一种较为简单的证明,如下:

设\(x_{1,0}\) , \(x_{2,0}\)为方程特解,则对于参数\(t^{[1]}\)$有

​ \(-[x_{1,0}/a_2]-\{x_{1,0}/a_2\}=-x_{1,0}/a_2 \leq t \leq x_{2,0}/a_1=[x_{2,0}/a_1]+\{x_{2,0}/a_1\}\)

又\(0 \leq \{x\} < 1\) , 所以

​ \(-[x_{1,0}/a_2] \leq t \leq[x_{2,0}/a_1]\)

故解数\(N_0\)满足

​ \(N_0=[x_{1,0}/a_2]+[x_{2,0}/a_1]+1\)

当\(c>a_1a_2-a_1-a_2\)时

​ \(1-1/a_1-1/a_2<c/a_1a_2=x_{1,0}/a_2+x_{2,0}/a_1=[x_{1,0}/a_2]+\{x_{1,0}/a_2\}+[x_{2,0}/a_1]+\{x_{2,0}/a_1\} \leq [x_{1,0}/a_2]+[x_{2,0}/a_1]+(a_1-1)/a_1+(a_2-1)/a_2\)

(对于任意正整数n及正整数m必有\(\{m/n\}\leq (n-1)/n\) )\(^{[2]}\)

则有

​ \([x_{1,0}/a_2]+[x_{2,0}/a_1]>-1\)

即\(N_0>0\) ,所以必有解

下证当\(c=a_1a_2-a_1-a_2\)时方程无非负整数解

若有解\(x_1\) , \(x_2\),则有

​ \(a_1(x_1+1)+a_2(x_2+1)=a_1a_2\)

又\((a_1,a_2)=1\) , 所以

​ \(a_1|x_2+1\) 且 \(a_2|x_1+1\)

又\(x_1 \geq 0\) 并且\(x_2 \geq 0\) , 则必有\(x_2+1 \geq a_1 \geq 1\) ,\(x_1 \geq a_2 \geq 1\)

综上得

​ \(a_1a_2 \geq 2a_1a_2\)

显然不等式不成立,故当\(c=a_1a_2-a_1-a_2\)时方程无解

于是NOIPD1T1就做完了23333

注:

1).此方程的已知所有解可以有如下表示:

​ \(\begin{cases} x_1=x_{1,0}+\frac{a_2}{(a_!,a_2)}t\\x_2=x_{2,0} - \frac{a_1}{(a_1,a_2)}t \end{cases}\)

2).因为对于任何\(m/n\) 均有

​ \(m/n=k \frac{p}{n}\) \((p<n)\)

​ 所以

​ \(\{m/n\}=p/n\)

​ 又对任意真分数均有

​ \(p/n \leq (n-1)/n\)

​ 所以

​ \(\{m/n\} \leq (n-1)/n\)

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. 题解【洛谷P3951】[NOIP2017]小凯的疑惑

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

  5. luogu2951 noip2017 小凯的疑惑

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

  6. luogu 3951 小凯的疑惑

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

  7. Luogu [P3951] 小凯的疑惑

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

  8. NOIP 2017 小凯的疑惑

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

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

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

随机推荐

  1. ES6新特性 Class的实现

    ES5之前类的继承是靠原型实现的,而这一过程的实现又涉及到一大堆的原型定义,特别是ES5推出了Object.definePorperty()方法后,代码更加晦涩.但是这种方式正是javascript这 ...

  2. 计蒜之道 初赛第一场B 阿里天池的新任务(简单)

    阿里“天池”竞赛平台近日推出了一个新的挑战任务:对于给定的一串 DNA 碱基序列 tt,判断它在另一个根据规则生成的 DNA 碱基序列 ss 中出现了多少次. 首先,定义一个序列 ww: \displ ...

  3. 基于JQuery EasyUI的WebMVC控件封装(含源码)

    JQuery EasyUI类库,大家不会陌生,出来已经有很多年了.个人感觉还是很好用的,作者更新频率也很快,bug也及时修复. 最近在整理以前的代码,找到了这个组件,它是将EasyUI组件封装成MVC ...

  4. 英语学习笔记---01---新概念第一册---Lesson 1 Excuse me!

    Lesson 1   Excuse me!   [词汇] excuse [iks5kju:z]                      v. 原谅      劳驾.借光 me             ...

  5. C#设计模式之十三代理模式(Proxy)【结构型】

    一.引言   今天我们要讲[结构型]设计模式的第七个模式,也是"结构型"设计模式中的最后一个模式,该模式是[代理模式],英文名称是:Proxy Pattern.还是老套路,先从名字 ...

  6. C# 关闭窗体立即停止进程

    C#在关闭窗体的时候,有时线程还在后台执行,没有及时退出. 处理方案: 为Form添加FormClosing事件,加入以下语句,在退出时,杀死本进程. System.Diagnostics.Proce ...

  7. 百度统计的JS脚本原理分析

    首先,百度统计会要求我们在要统计的页面中嵌入一段js语句,类似如下: <script type="text/javascript">var _bdhmProtocol ...

  8. Java中Comparable和Comparator比较

    1.Comparable 介绍 Comparable 是一个排序接口,如果一个类实现了该接口,说明该类本身是可以进行排序的.注意,除了基本数据类型(八大基本数据类型) 的数组或是List,其余类型的对 ...

  9. python进阶------进程线程(三)

    python中的进程 1.multiprocessing模块 由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进 ...

  10. [转]结合HierarchyViewer和APK文件反编译获得APP元素id值

    背景: 最近在使用Robotium进行Android自动化测试.遇到了一个问题:我需要获得一个View的id(int型数值).此前我在http://maider.blog.sohu.com/25544 ...