NOIP 2017 小凯的疑惑】的更多相关文章

# NOIP 2017 小凯的疑惑 思路 a,b 互质 求最大不能表示出来的数k 则k与 a,b 互质 这里有一个结论:(网上有证明)不过我是打表找的规律 若 x,y(设x<y) 互质 则 : \(nx\equiv\)a (mod y)若将x依次加倍则可以得 nx mod y|ans ---|---| x| a | 2x| 2a mod y 3x|3a mod y| 4x |4a mod y| ...|...| yx|ya mod y| 这时a的值刚好把 0 ~ y-1内的所有数字都遍历了一遍.…
洛谷 P3951 NOIP 2017 小凯的疑惑 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品. 输入格式 两个正整数 \(a\) 和 \(b\),它们之间用一个空格隔开,表示小凯中金币的面值. 输出格式 一个正整数 \(N\),表示不找零的情况下,小凯用手中的金币不能准确支付的最…
题意 给出两个互质的数a,b问最大的不能被xa+yb(x,y>=0)表示的数.(a,b<=109) 题解 NOIPday1T1一道数论题,不知埋葬了多少人的梦想. 用同余类去解释. 我们依旧用数组来表示最小的模a等于下标的数.答案为这些数中最大的数-a. 设这些数中最大的数为x,在此之前其他的模数全都能表示,所以前a-1个数都可以被表示,所以x-a是第一个不能表示的数. 又因为a,b互质所以x为(a-1)*b. 故答案为 a*b-a-b.输出答案就可以了.然而我打了高精.…
吐槽 果然让人很疑惑,这道题,对于我这种数学渣渣来说太不友好了,哪里想得到结论,猜也猜不到. 思路一 纯数学,见过的飞快切掉,没见过的就... 结论就是:已知$a,b$为大于$ 1 $的互质的正整数,则使不定方程$ax+by=c$ 不存在非负整数解的最大整数 好像是叫什么赛瓦维斯特定理,但是除了这道题的题解之外,我没有在其它任何地方搜到,跟数学相关的痕迹一点都没有,太神奇了,难道这是一个只有$OIer$才研究的公式证明一下吧.首先,先证$ax+by=ab−a−b(a,b>1,(a,b)=1)$不…
洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品. 输入输出格式 输入格式: 两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯中金币的面值. 输出格式: 一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值. 输入…
找规律:ans=a*b-a-b 证明:(可见 体系知识) gcd(A, B) = 1 → lcm(A, B) = AB 剩余类,把所有整数划分成m个等价类,每个等价类由相互同余的整数组成 任何数分成m个剩余类,分别为 mk,mk+1,mk+2,……,mk+(m-1) 分别记为{0(mod m)},{1(mod m)}…… 而n的倍数肯定分布在这m个剩余类中 因为gcd(m,n)=1,所以每个剩余类中都有一些数是$n$的倍数,并且是平均分配 设 kmin = min { k | nk ∈ {i (…
题目详见:[P3951]小凯的疑惑 首先说明:此题为一道提高组的题.但其实代码并没有提高组的水平.主要考的是我们的推断能力,以及看到题后的分析能力. 分析如下: 证明当k>ab-a-b时,小凯可以准确支付这个物品. 显然,可以列出一个不定方程ma+nb=k,(m n,为未知数)由于m,n是金币个数,所以m>-1,n>-1, 这个不定方程的通解为m=m0+bt,n=n0-at,(仅仅为写法的一种,不过这样写最方便,m0,n0为方程的一组解), m0+bt>-1,n0-at>-1…
noip2017 D1T1 小凯的疑惑 某zz选手没有看出这道结论题,同时写出了exgcd却不会用,只能打一个哈希表骗了30分 题目大意: 两个互质的正整数a和b,求一个最小的正整数使这个数无法表示为ax+by(x,y为自然数)的形式 思路: 结论题:ans=a*b-a-b #include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio…
P3951 小凯的疑惑 题解 题意也就是求解不能用 ax+by 表示的最大数 ans(a,b,x,y,都是正整数) 给定 a ( =7 ) ,  b ( =3 ) 我们可以把数轴非负半轴上的数按照a的剩余类分成a列,如上图 所以 a 的倍数一定可以取到,此时 y=0,那么我们把 a 的倍数这一列划掉 然后我们再考虑 y!=0的情况: (1)b的倍数一定可以取到,此时 x=0 (2)和b  %a  同余的数字一定可以取到,其实就是确定了 y,then确定了by,加上 a 的倍数 所以我们就可以把…
其实就是当年sxy给我讲的墨墨的等式,只是当时比较菜听得似懂非懂. 小凯的疑惑 去年noipday1t1,当时随便猜了个结论结果猜对了,现在瞎证一下,答案是a*b-a-b. 设a为a,b中较小的一个,发现b*0%a,b*1%a,b*2%a,b*3%a……b*(a-1)%a的结果两两不同. 反证,如果存在b*x%a=b*y%a(x<y<a),即b*x-b*y=0(mod a),b*(x-y)=0(mod a), ∵gcd(a,b)=1 ∴x-y=0(mod a) 不满足x<y<a,得…
目录 题面 题目链接 题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例: 输出样例: 说明 思路 证明 AC代码 include<bits/stdc++.h> 题面 题目链接 P3951 小凯的疑惑 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品. 输入输出格…
P3951 小凯的疑惑 数论极菜的小萌新我刚看这题时看不懂exgcd做法的题解,后来在网上找到了一篇博客,感觉代码和推导都更加清新易懂,于是在它的基础上写了题解qwq 分析 两数互质,且有无限个,想到不定方程ax+by=gcd(a,b)=1,并且是一定有解的 对于合法的数k,可以表示为 k=a×x1+b×y1(x1>=0,y1>=0) 找最大不合法的数,那么比它大的数(如k+1)一定是合法的,于是题目变成找最大的k使k-1不合法 由于本题中ax+by=1,对于不合法的数k-1,可以表示为 k-…
前言: 数学题,对于我这种菜B还是需要多磨啊 Simple 首先它问不是好数的数量,可以转化为用总数量减去是好数的数量. 求"好数"的数量: 由裴蜀定理得,如果某个数\(i\)不能整除\(gcd(n,m)\),那么一定不是好数. 所以,我们把\(n,m,q\)分别除以\(gcd(n,m)\),是不影响得出的"好数"数量的. 好,那么现在\(n,m\)就互质了. 现在,就把问题转化为了(用比较形象化的语言来说,就是)有\(n,m\)互质,求\([1,q]\)中有多少个…
2021.07.20 P3951 小凯的疑惑(最大公因数,未证) 重点: 1.最大公因数 题意: 求ax+by最大的表示不了的数(a,b给定 x,y非负). 分析: 不会.--2021.07.20 代码如下: #include<cstdio> #include<algorithm> #include<iostream> using namespace std; #define int long long int x,y; inline int read(){ int s…
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品 这是今年NOIP的第一题,也是断送我OI生涯的一道题目.这是我记忆中NOIP第一次出现结论题,也是我唯一做不出来的第一题.身边的大佬一个个秒掉了它,兄弟学校的同学也几乎都YY出了正解.就我特么一个30分,然后T2,T3又写爆,Day1爆…
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品. 输入输出格式 输入格式: 两个正整数 $a$ 和 $b$ ,它们之间用一个空格隔开,表示小凯中金币的面值. 输出格式: 一个正整数 $N$ ,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值. 题解: 我只想说...…
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品. 输入输出格式 输入格式: 输入数据仅一行,包含两个正整数 aa 和 bb,它们之间用一个空格隔开,表示小凯手 中金币的面值. 输出格式: 输出文件仅一行,一个正整数 NN,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的…
原题: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品. a,b<=10^9 结论题,记得我当时在现场大力打表做出来了 听说好像还是小学奥数题 不过数论推结论不难 由裴蜀定理及其引理,因为gcd(a,b)=1,所以对于任意整数c,都存在整数x和y满足ax+by=c 既然丢番图方程有解,为什么还…
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品. 输入输出格式 输入格式 两个正整数 \(a\) 和 \(b\),它们之间用一个空格隔开,表示小凯中金币的面值. 输出格式 一个正整数 \(N\),表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值. 输入输出样例 输入…
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品. 输入格式: 输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯 中金币的面值. 输出格式:  输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值. 不多说,找了半个…
这是2017年提高组的第一题,是一个小学奥数题?听说很多大佬爆零了,我AC了,,, 这个题首先给出两个素数,问取任意个这两个素数之和不可以达到的最大的数是多少?拿到这个题首先很蒙,于是试了试样例,并没有得到什么启发,于是就构思代码,想双层for循环这两个数的个数,但怎样最大呢?然后再次去分析数据.eg.7&3=11,2&5=3,3$4=5.突然间,发现这些值都是a*b-(a+b).但是看数据范围,发现1*10^9-->1*10^18,所以一定要开long long. 1.拿到这种“奥…
#include<bits/stdc++.h> using namespace std; long long a,b,x,y,ans,tmp; inline void ex_gcd(long long a,long long b,long long &x,long long &y){ if(!b){ x = 1; y = 0; return; } ex_gcd(b,a%b,y,x); y -= (a/b)*x; } int main(){ cin>>a>>…
题目链接 一开始看到这题,我的内心是拒绝的. 以为是同余类bfs,一看数据1e9,发现只能允许O(1)的算法,数学还不太好,做不出来,其实应该打表找规律. 看到网上的题解,如果两个都必须拿,结果一定是a*b,由于对称性,如果可以不拿,就减(a+b). 结果就是a*b-a-b. #include<iostream> #include<cstdio> using namespace std; long long a,b; int main() { scanf("%lld%ll…
传送门:Problem P3951 https://www.cnblogs.com/violet-acmer/p/9827010.html 参考资料: [1]:http://m.blog.sina.com.cn/s/blog_b046a49001015zun.html#page=1 题解: 两个互素的正整数a,b的非负线性组合ax+by不能表示的最大整数为 a*b-a-b; 证明: 例如a=5,b=6,则不能表示的最大整数为19,换言之所有大于19的整数都可以表示成ax+by,其中x,y为非负整…
这应该是近年来最坑的第一题了. 我第一眼看到这题上来就打表,数据范围告诉我复杂度应该是log级的,然而一个小时后才发现是一个输出结论. 设较小数是a 较大数是b 写出几组可以发现一个规律就是一旦出现连续a个可以凑出来的价格那么后面的都能凑出来 而这a个数中最大的那个应该是 b*(a-1)-+a*0这种形式 也就是说之前的a都转成了几个b的形式 原因也就是a,b互质 而一共是a个数,所以减去a就是答案了 化简式子 a*b-a-b 就不贴代码了哈…
题目大意: 给你两个数a,b,保证a与b互质,求最大的x满足不能被表示成若干个a与b的和. 思路: 据说是小学奥数题. 考场上先写了个a*b的60分DP,然后打表发现答案就是(a-1)*(b-1)-1. #include<cstdio> #include<cctype> typedef long long int64; inline int getint() { register char ch; while(!isdigit(ch=getchar())); register ';…
相信参加OI的oiers都是数学高手吧 我好像不是 (滑稽 那应该大家都接触过邮资问题吧! 所谓邮资问题,就类似于这一题,给定a和b两种邮资数,求最大的不能凑出的邮资 数.这里给出公式:最大的不能集出的邮资就为(这里给出两个参数a和b): a × b - a - b . 验证一下:我觉得只有像我这样的蒟蒻才需要 好了,废话少说,开始! 1) 4和5 : 1~3当然不能集出,略过: 4=1×4: 5=1×5: 6,7均不能集出: 8=2×4: 9=1×4+1×5: 10=2×5: 11不能集出(这…
在考场上我们可以打表发现规律是 $ ab-a-b $ .下面给出证明(看的网上的). 若有正数 $ x $ 不能被 $ a $ , $ b $ 组合出,假设 $ a>b $ ,则存在 \[ x=ap+bq=a(p-b)+b(q+a) \] 其中 $ p>0, q<0, p-b<0, q+a>0 $ . 为什么呢?如果学过exgcd的话,很容易理解上述形式.$ (p,q) $ 是一组解的话,则 $ (p-b,q+a) $ 是最接近的另一组解.$ p>0 $ 而 $ q&l…
[题目链接] 点击打开链接 [算法] px + qy不能表示的最大整数为 pq - p - q 证明见这篇博客,过程很详细,推荐阅读 : https://blog.csdn.net/qwerty1125/article/details/78661916 [代码] var a,b : int64; begin read(a,b); writeln(a*b-a-b); end.…
传送门 题意:求出a和b不能通过线性组合(即n*a+m*b)得到的最大值: 思路:摘自洛谷: 不妨设 a<b 假设答案为 x 若 x≡m*a ( mod b )(1≤m≤b−1) (mod3)什么意思? [答]: 后面的 mod 3 表示:相对于 的模,即用 来除,得到相应的余数 举例来说,+3m=(mod3),+3m 用 来除 的余数是 即 x=m*a+n*b (1≤m≤b−1) 显然当n≥0 时 x 可以用 a,b 表示出来,不合题意. 因此当 n = -1 时 x 取得最大值,此时 x=m…