NKOJ 小凯的疑惑 Plus
题面
题目描述
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。
现在小凯想知道:
在无法准确支付的物品中,最贵的价值是多少金币?
共有多少种无法支付的物品?
注意:输入数据保证存在小凯无法准确支付的商品。
输入格式
输入数据仅一行,包含两个正整数 a a a 和 b b b,它们之间用一个空格隔开,表示小凯手中金币的面值。
输出格式
输出 2 2 2 个整数,分别表示 2 2 2 个问题的答案。
数据范围
1 ≤ a , b ≤ 1 0 9 1\leq a,b \leq 10^9 1≤a,b≤109
分析
第一个问题:
设无法准确支付的面值为 c c c,所需 a , b a,b a,b 两种货币的数量为 x , y x,y x,y,则: a x + b y = c ax+by=c ax+by=c。
设 s = a / gcd ( a , b ) , t = b / gcd ( a , b ) s=a/\gcd(a,b),t=b/\gcd(a,b) s=a/gcd(a,b),t=b/gcd(a,b),因为 gcd ( a , b ) = 1 \gcd(a,b)=1 gcd(a,b)=1,所以 s = a , t = b s=a,t=b s=a,t=b
不妨设 a < b a<b a<b。
所以要使 x , y x,y x,y 最有可能都是非负整数,即要使小凯尽可能能准确支付 c c c 这一面额,就要使 x x x 成为最小范数解,所以可以表示为 a ( x % t ) + b ( y + s ⌊ x t ⌋ ) = c a(x\ \%\ t)+b(y+s\lfloor\frac{x}{t}\rfloor)=c a(x % t)+b(y+s⌊tx⌋)=c。
又因为 s = a , t = b s=a,t=b s=a,t=b,所以 a ( x % b ) + b ( y + a ⌊ x b ⌋ ) = c a(x\ \%\ b)+b(y+a\lfloor\frac{x}{b}\rfloor)=c a(x % b)+b(y+a⌊bx⌋)=c。
因为 c c c 不可准确凑出,但是因为 gcd ( a , b ) = 1 \gcd(a,b)=1 gcd(a,b)=1,所以方程一定有解,所以显然的, x , ( y + a ⌊ x b ⌋ ) x,(y+a\lfloor\frac{x}{b}\rfloor) x,(y+a⌊bx⌋) 异号。
所以不妨设 x > 0 , ( y + a ⌊ x b ⌋ ) < 0 x>0,(y+a\lfloor\frac{x}{b}\rfloor)<0 x>0,(y+a⌊bx⌋)<0即 y < − a ⌊ x b ⌋ y<-a\lfloor\frac{x}{b}\rfloor y<−a⌊bx⌋ 且 ≤ y ≤ − 1 \leq y \leq -1 ≤y≤−1
所以, 0 < x < b , − a < y < 0 0<x<b,-a<y<0 0<x<b,−a<y<0即 1 ≤ x ≤ b − 1 , − a + 1 ≤ y ≤ − 1 1\leq x\leq b-1,-a+1\leq y\leq-1 1≤x≤b−1,−a+1≤y≤−1
因为不只有 1 1 1 个 c c c,所以 x , y x,y x,y 不相互影响。
所以要使 c c c 最大,只需要使 x , y x,y x,y 也最大即可。
所以答案为: c = a ( b − 1 ) + b ⋅ ( − 1 ) = a b − a − b c=a(b-1)+b\cdot(-1)=ab-a-b c=a(b−1)+b⋅(−1)=ab−a−b
第二个问题:
首先算一下 a x + b y ax+by ax+by 的平均值:
∑ x = 1 b − 1 ∑ y = − a + 1 − 1 a x + b y = ∑ x = 1 b − 1 a x ⋅ ( a − 1 ) − a b ( a − 1 ) 2 = a b ( a − 1 ) ( b − 1 ) 2 − a b ( a − 1 ) ( b − 1 ) 2 = 0 \large \begin{matrix} \sum^{b-1}_{x\ =\ 1}\sum^{-1}_{y=-a+1}ax+by& =&\sum^{b-1}_{x\ =\ 1}ax\cdot (a-1)-\frac{ab(a-1)}{2}\\\\ &=&\frac{ab(a-1)(b-1)}{2}-\frac{ab(a-1)(b-1)}{2}\qquad\\\\ &=&0\qquad\qquad\qquad\qquad\qquad\quad \end{matrix} ∑x = 1b−1∑y=−a+1−1ax+by===∑x = 1b−1ax⋅(a−1)−2ab(a−1)2ab(a−1)(b−1)−2ab(a−1)(b−1)0
所以我们可以猜测 a x + b y ax+by ax+by 正好是一半正,一半负,且一一对应,即答案为 ( a − 1 ) ( b − 1 ) 2 \frac{(a-1)(b-1)}{2} 2(a−1)(b−1)。
接下来开始证明。
要证上面的问题,我们可以先表示 − c -c −c 即 a ( − x % t ) + b ( − y + s ⌊ x t ⌋ ) = − c a(-x\ \%\ t)+b(-y+s\lfloor\frac{x}{t}\rfloor)=-c a(−x % t)+b(−y+s⌊tx⌋)=−c,所以 1 − b ≤ − x ≤ − 1 , 1 ≤ − y ≤ a − 1 1-b\leq -x\leq -1,1\leq -y\leq a-1 1−b≤−x≤−1,1≤−y≤a−1,所以的所以 1 ≤ x ≤ b − 1 , − a + 1 ≤ y ≤ − 1 1\leq x\leq b-1,-a+1\leq y\leq-1 1≤x≤b−1,−a+1≤y≤−1,这个范围正好就是前面求得的范围,所以正好一一对应。
证毕
6
NKOJ 小凯的疑惑 Plus相关推荐
- 2017提高组D1T1 洛谷P3951 小凯的疑惑
洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...
- 2017noip小凯的疑惑
一道比较好的数学竞赛题..... 看到这个题,我立马就想到了暴力算法,但是数据好像点大,于是我们可以自己模拟算一个计算公式 这儿有几张图可以使用 我们以a=7,b=3为例. 说明一下,是按照 0,1, ...
- 【整数与除数】小凯的疑惑
素数:大于1的自然数中,除1和它本身以外不再有其他因数 最大公约数:两个或多个整数共有约数中最大的一个 欧拉函数:对于正整数n,欧拉函数是小于n的正整数中与n互质的数的数目 题目链接: P3951 [ ...
- P3951 [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目
[NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目 题目背景 NOIP2017 提高组 D1T1 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每 ...
- 【NOIP2017提高组】小凯的疑惑
小凯的疑惑 题目背景 NOIP2017提高组 DAY1 T1 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无 ...
- 【提高组NOIP2017】小凯的疑惑(附证明)
小凯的疑惑 描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素. 每种金币小凯都有 无数个. 在不找零的情况下, 仅凭这两种金币,有些物品他是无法准确支付的. 现在小 凯想知道在无法准确支付 ...
- 【NOIP 2017 提高组 DAY1 T1】小凯的疑惑
emmm貌似过不了多久就要去考NOIP了,于是我终于开始刷往年的题了 [题目] 题目描述: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有无数个.在不找零的情况下,仅凭这两种 ...
- 小凯的疑惑(扩展欧几里得)
小凯的疑惑 a , x , b , y , gcd(a,b) 扩展欧几里得啊!!! 对于任何k(k为正整数) 一定存在x,y 满足 ax+by=k; 想想扩展欧几里得 ax+by=gcd(a,b ...
- 信息学奥赛一本通——1899:【17NOIP提高组】小凯的疑惑
文章目录 1899:[17NOIP提高组]小凯的疑惑 [题目描述] [输入] [输出] [输入样例] [输出样例] [提示] [样例说明] [数据范围] 代码 1899:[17NOIP提高组]小凯的疑 ...
最新文章
- 利用SQL索引提高查询速度
- if/ else 你真的会吗?
- 【Socket网络编程】17. recv() 函数详解
- ELK三件套安装实践之路(1)
- wxWidgets:进程间通信
- nginx php fpm socket,php-fpm 使用 socket 方式和 nginx 通讯,(速度优化)
- python子类继承父类特性,pycharm上面已经提示继承了,为什么会报没有该特性的错误?
- java类输出_java的输出类
- 51 nod 1439 互质对(Moblus容斥)
- grub2 中的boot命令
- 继电保护原理1.1-电流、方向保护
- 白盒测试——静态白盒测试
- DCDC中电感的计算
- 飞鸽快递系统代码_中通快递港股上市募资约96亿港元,董事长赖梅松认为股票代码2057寓意开启新征程...
- 全面了解三极管——三极管用作开关管2
- java爆炸图片切换,JavaScript实现爆炸碎片的 图片切换 效果
- python 手机号码归属 ip地址查询
- Head first jQuery读书笔记
- python技术面试题(十一)
- 关于图文识别功能相关技术的实现