NOIP2012 DAY1 T2 国王游戏
題目描述
恰逢?H國國慶,國王邀請n?位大臣來玩一個有獎游戲。首先,他讓每個大臣在左、右手上面分別寫下一個整數,國王自己也在左、右手上各寫一個整數。然后,讓這?n?位大臣排成一排,國王站在隊伍的最前面。排好隊后,所有的大臣都會獲得國王獎賞的若干金幣,每位大臣獲得的金幣數分別是:排在該大臣前面的所有人的左手上的數的乘積除以他自己右手上的數,然后向下取整得到的結果。
國王不希望某一個大臣獲得特別多的獎賞,所以他想請你幫他重新安排一下隊伍的順序,使得獲得獎賞最多的大臣,所獲獎賞盡可能的少。注意,國王的位置始終在隊伍的最前面。
輸入輸出格式
輸入格式:
?
第一行包含一個整數n,表示大臣的人數。
第二行包含兩個整數?a和?b,之間用一個空格隔開,分別表示國王左手和右手上的整數。
接下來?nn行,每行包含兩個整數a?和?b,之間用一個空格隔開,分別表示每個大臣左手和右手上的整數。
?
輸出格式:
?
一個整數,表示重新排列后的隊伍中獲獎賞最多的大臣所獲得的金幣數。
?
假設最初存在3個仔[0,2],左右手分別標為ai,bi
那么a0,b0顯然代表著國王,那么隊列就可能是:
a0? b0
a1? b1
a2? b2
或者是
a0? b0
a2? b2
a1? b1
那么我知道對于第一種情況最大值是
max{a0/b1,a0*a1/b2}
對于第二種情況是
max{a0/b2,a0*a2/b1}
(請自動腦補下取整符號)
這樣我們可以顯然的知道:
a0*a1/b2 > a0/b2
a0*a2/b1 > a0/b1
這樣問題就變成了
max{a0*a1/b2,a0*a2/b1}
然后我們假設存在a0*a1/b2 > a0*a2/b1
然后可以得到a1*b1 > a2*b2
就是說我們可以按所有人左右手的乘積大小從小到大排序。
但是這題要高精,所以我選擇,去世
轉載于:https://www.cnblogs.com/ywjblog/p/11160691.html
總結
以上是生活随笔為你收集整理的NOIP2012 DAY1 T2 国王游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: string判断是否是正常的ip格式
- 下一篇: css中的display属性之li元素