NOIP2017 小凯的疑惑
题目描述
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品
这是今年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 小凯的疑惑的更多相关文章
- 【比赛】NOIP2017 小凯的疑惑
找规律:ans=a*b-a-b 证明:(可见 体系知识) gcd(A, B) = 1 → lcm(A, B) = AB 剩余类,把所有整数划分成m个等价类,每个等价类由相互同余的整数组成 任何数分成m ...
- 联赛膜你测试20 T1 Simple 题解 && NOIP2017 小凯的疑惑 题解(赛瓦维斯特定理)
前言: 数学题,对于我这种菜B还是需要多磨啊 Simple 首先它问不是好数的数量,可以转化为用总数量减去是好数的数量. 求"好数"的数量: 由裴蜀定理得,如果某个数\(i\)不能 ...
- NOIP2017 小凯的疑惑 解题报告(赛瓦维斯特定理)
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...
- 题解【洛谷P3951】[NOIP2017]小凯的疑惑
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...
- luogu2951 noip2017 小凯的疑惑
在考场上我们可以打表发现规律是 $ ab-a-b $ .下面给出证明(看的网上的). 若有正数 $ x $ 不能被 $ a $ , $ b $ 组合出,假设 $ a>b $ ,则存在 \[ x= ...
- luogu 3951 小凯的疑惑
noip2017 D1T1 小凯的疑惑 某zz选手没有看出这道结论题,同时写出了exgcd却不会用,只能打一个哈希表骗了30分 题目大意: 两个互质的正整数a和b,求一个最小的正整数使这个数无法表示为 ...
- Luogu [P3951] 小凯的疑惑
题目详见:[P3951]小凯的疑惑 首先说明:此题为一道提高组的题.但其实代码并没有提高组的水平.主要考的是我们的推断能力,以及看到题后的分析能力. 分析如下: 证明当k>ab-a-b时,小凯可 ...
- NOIP 2017 小凯的疑惑
# NOIP 2017 小凯的疑惑 思路 a,b 互质 求最大不能表示出来的数k 则k与 a,b 互质 这里有一个结论:(网上有证明)不过我是打表找的规律 若 x,y(设x<y) 互质 则 : ...
- 2017提高组D1T1 洛谷P3951 小凯的疑惑
洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...
随机推荐
- 楼梯T-SQL:超越基础6级:使用CASE表达式和IIF函数
从他的楼梯到T-SQL DML,Gregory Larsen涵盖了更多的高级方面的T-SQL语言,如子查询. 有时您需要编写一个可以根据另一个表达式的评估返回不同的TSQL表达式的单个TSQL语句. ...
- caffe源码分析 vector<Blob<Dtype>*>& bottom
Blob:4个维度 n x c x h x w: bottom[0] .bottom[1]代表该层有几个输入. bottom[0]->count(): 输入中,元素的总维数(个数) bottom ...
- 浅谈javascript的函数节流
什么是函数节流? 介绍前,先说下背景.在前端开发中,有时会为页面绑定resize事件,或者为一个页面元素绑定拖拽事件(其核心就是绑定mousemove),这种事件有一个特点,就是用户不必特地捣乱,他在 ...
- Python+selenium打开网页
东西都安装好了,是不是都迫不及待的想要运行一个程序呢? 不过不幸的是,在正式编程打开网页之前,我们还需要做一件事:下载驱动. 据说,在很久之前的selenium1和2中,驱动是被内嵌在selenium ...
- 解决autocad闪退
1.进入注册表,regedit 2.找到ROOT\installer\Products ,找到以7D2F开头的键值,这里有两个都得删除 3.删除programdata目录下的AutoDesk目录,及f ...
- [深度学习]实现一个博弈型的AI,从五子棋开始(2)
嗯,今天接着来搞五子棋,从五子棋开始给小伙伴们聊AI. 昨天晚上我们已经实现了一个五子棋的逻辑部分,其实讲道理,有个规则在,可以开始搞AI了,但是考虑到不够直观,我们还是顺带先把五子棋的UI也先搞出来 ...
- 使用.net连接domino的尝试
导入包含Domino命名空间的dll: } 这里需要提到的是dynamic cast 运行期绑定的代码,需要做类型转化.
- net core 使用tagHelper将 enum枚举类型转换为下拉列表select
[HtmlTargetElement("enums")] //[HtmlTargetElement("enums", TagStructure = TagStr ...
- radis学习总结
Redis与Memcached的比较. 1.Memcached是多线程,而Redis使用单线程. 2.Memcached使用预分配的内存池的方式,Redis使用现场申请内存的方式来存储数据,并且可以配 ...
- Linux 性能搜集【linux_reports-cpu/memory/disks/network】
为方便问题发生后,问题原因的分析排查,我们可以在服务器中事先部署如下脚本,方便故障发生后,问题原因的分析排查 脚本部署方法: 1.将脚本[linux_reports.sh]上传到服务器 2.登陆虚拟机 ...