小凱的疑惑
描述小凱手中有兩種面值的金幣,兩種面值均為正整數且彼此互素。 每種金幣小凱都有 無數個。 在不找零的情況下, 僅憑這兩種金幣,有些物品他是無法準確支付的。 現在小 凱想知道在無法準確支付的物品中,最貴的價值是多少金幣? 注意:輸入資料保證存在 小凱無法準確支付的商品
輸入輸入資料僅一行, 包含兩個正整數 a 和 b, 它們之間用乙個空格隔開, 表示小凱手中金幣的面值
輸出輸出檔案僅一行,乙個正整數 n,表示不找零的情況下, 小凱用手中的金幣不能準 確支付的最貴的物品的價值。
樣例輸入
3 7樣例輸出
11【輸入輸出樣例 1 說明】 小凱手中有面值為 3和 7的金幣無數個,在不找零的前提下無法準確支付價值為 1、 2、 4、 5、 8、 11 的物品,其中最貴的物品價值為 11,比 11 貴的物品都能買到,比如:
12 = 3 * 4 + 7 * 0
13 = 3 * 2 + 7 * 1
14 = 3 * 0 + 7 * 2
15 = 3 * 5 + 7 * 0
……【資料規模與約定】
對於 30%的資料: 1 ≤ a, b ≤ 50。
對於 60%的資料: 1 ≤ a, b ≤ 10,000。
對於 100%的資料: 1 ≤ a, b ≤ 1,000,000,000。
analysis
水題???
為什麼我覺得不好想啊……證明辣麼難
但各路大神紛紛表示打表打表打表
遇到數學問題就打表找規律
然後的然後就顯而易見了
a ns
=a∗b
−(a+
b)
ans=a*b-(a+b)
ans=a∗
b−(a
+b)可我還是不服啊,為什麼為什麼為什麼???
來亂胡證明一下,可以反證試一下:
假設存在一組正整數解使得ax+
by=a
∗b−a
−b
ax+by=a*b-a-b
ax+by=
a∗b−
a−b則a(x
+1)+
b(y+
1)=a
ba(x+1)+b(y+1)=ab
a(x+1)
+b(y
+1)=
ab發現 b∣(
x+1)
,a∣(
y+1)
b|(x+1),a|(y+1)
b∣(x+1
),a∣
(y+1
)(因為只有這樣左邊才可能含有a*b)
又因為x
>=0
,y
>=0
x>=0,y>=0
x>=0
,y>=0
–> x+1
>=1
,y+1
>=1
x+1>=1,y+1>=1
x+1>=1
,y+1
>=1
–> a(x
+1)+
b(y+
1)
>=a
∗b+b
∗a=2
∗a
ba(x+1)+b(y+1)>=a*b+b*a=2*ab
a(x+1)
+b(y
+1)>=a
∗b+b
∗a=2
∗ab又已知a(x
+1)+
b(y+
1)=a
ba(x+1)+b(y+1)=ab
a(x+1)
+b(y
+1)=
ab,則假設不成立,找不出一組解使得
a x+
by=a
∗b−a
−b
ax+by=a*b-a-b
ax+by=
a∗b−
a−b那為什麼大於這個a∗b
−a−b
a*b-a-b
a∗b−a−
b的數又可以全部被湊出來呢??
(這段證明摘自這裡)
對於任意正整數c>=ab−a−b+1
即c+a+b>=ab+1
設c+a+b=ka+m(k>=b,1<=m<=a−1)
注意到(a,b)=1
由裴蜀定理,知存在x0,y0∈z使得
ax0+by0=1
故存在x1,y1∈z,−(b−1)<=x1<=−1
使得ax1+by1=m
(解釋一下,這裡的意思其實是設−(b−1)<=x1<=−1,一定存在整數y1y1使得ax1+by1=m成立。原因就是在整數x1的取值中一共有b−1個數,y1=(m−ax1)/b,總是可以找到x1使得m−ax1能被b整除)
顯然,y1>=1(ax1<0,m>0,b>0因此y1>=1)
於是,取x=k+x1−1,y=y1−1
注意到x1,y1的取值範圍,得x,y>=0
得ax+by=c
所以任意c>=ab−a−b+1都存在x,y>=0,ax+by=c
證畢code
還需要放???
當然不用
NOIP2017 小凱的疑惑
簡化一下問題,就是對於ax by c,求乙個最大的c,使得方程不存在非負整數解。我們設有一組特解 x0,y0 那麼根據此類直線方程的性質,則通解可表示為 x0 kb,y0 ka 顯然,存在一組特解 x1,y1 使得0 x1 b 1,我們試圖研究那些不存在非負整數解的情況,所以設y1 1。此時,c a...
Noip2017提高組 乳酪
noip 2017 提高組 不怎麼難啦 思路如下 首先先寫乙個函式判斷兩個洞是否相連,即兩洞之間距離是否小於等於球直徑 注意是直徑 struct dong dong p 1001 bool pd dong a,dong b 第二個難點在於如何判斷是否可以穿過乳酪,對此我們可以模擬老鼠鑽洞 run函式...
NOIP2017提高組 列隊
noip2017提高組 day2 t3 sylvia 是乙個熱愛學習的女孩子。前段時間,sylvia 參加了學校的軍訓。眾所周知,軍訓的時候需要站方陣。sylvia 所在的方陣中有 n m 名學生,方陣的行數為 n,列數為 m 為了便於管理,教官在訓練開始時,按照從前到後,從左到右的順序給方陣中的學...