题目描述

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

这是今年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. 楼梯T-SQL:超越基础6级:使用CASE表达式和IIF函数

     从他的楼梯到T-SQL DML,Gregory Larsen涵盖了更多的高级方面的T-SQL语言,如子查询. 有时您需要编写一个可以根据另一个表达式的评估返回不同的TSQL表达式的单个TSQL语句. ...

  2. caffe源码分析 vector<Blob<Dtype>*>& bottom

    Blob:4个维度 n x c x h x w: bottom[0] .bottom[1]代表该层有几个输入. bottom[0]->count(): 输入中,元素的总维数(个数) bottom ...

  3. 浅谈javascript的函数节流

    什么是函数节流? 介绍前,先说下背景.在前端开发中,有时会为页面绑定resize事件,或者为一个页面元素绑定拖拽事件(其核心就是绑定mousemove),这种事件有一个特点,就是用户不必特地捣乱,他在 ...

  4. Python+selenium打开网页

    东西都安装好了,是不是都迫不及待的想要运行一个程序呢? 不过不幸的是,在正式编程打开网页之前,我们还需要做一件事:下载驱动. 据说,在很久之前的selenium1和2中,驱动是被内嵌在selenium ...

  5. 解决autocad闪退

    1.进入注册表,regedit 2.找到ROOT\installer\Products ,找到以7D2F开头的键值,这里有两个都得删除 3.删除programdata目录下的AutoDesk目录,及f ...

  6. [深度学习]实现一个博弈型的AI,从五子棋开始(2)

    嗯,今天接着来搞五子棋,从五子棋开始给小伙伴们聊AI. 昨天晚上我们已经实现了一个五子棋的逻辑部分,其实讲道理,有个规则在,可以开始搞AI了,但是考虑到不够直观,我们还是顺带先把五子棋的UI也先搞出来 ...

  7. 使用.net连接domino的尝试

    导入包含Domino命名空间的dll:                  } 这里需要提到的是dynamic cast 运行期绑定的代码,需要做类型转化.

  8. net core 使用tagHelper将 enum枚举类型转换为下拉列表select

    [HtmlTargetElement("enums")] //[HtmlTargetElement("enums", TagStructure = TagStr ...

  9. radis学习总结

    Redis与Memcached的比较. 1.Memcached是多线程,而Redis使用单线程. 2.Memcached使用预分配的内存池的方式,Redis使用现场申请内存的方式来存储数据,并且可以配 ...

  10. Linux 性能搜集【linux_reports-cpu/memory/disks/network】

    为方便问题发生后,问题原因的分析排查,我们可以在服务器中事先部署如下脚本,方便故障发生后,问题原因的分析排查 脚本部署方法: 1.将脚本[linux_reports.sh]上传到服务器 2.登陆虚拟机 ...