答案,保留4位小數
sample input
4 3
4 3 3
5 1 6
2 6 1
3 2 9
sample output
4.4286
data constraint
n*m<=100000
solution :
首先看 n*m=100000
那麼資料很明顯最多支援(mn)logn嘛
然後就考慮二分答案嘛。
因為直接找最優值的話,不知道其他列的情況,二分是最好的選擇了~。
然後就是怎麼check 答案。
對於當前的乙個答案 ans
假設 第i列選了 h[i]個
f[i][j] 表示 第i列選了j個的字首和。
對於每任意一列i,列舉j
找出 ( ans *h[i])- f[i][h[i]] 的最大值 max[i]
在把sum 和ans比較 即可判斷ans是否合法。
問題解決。
動態規劃 挖金礦
有乙個國家發現了5座金礦,每座金礦的 儲量不同,需要參與挖掘的工人數也不同。參與挖礦工人的總數是10人。每座金礦要麼全挖,要麼不挖,不能派出一半人挖取一半金礦。要求用程式求解出,要想得到盡可能多的 應該選擇挖取哪幾座金礦?500金 5人 200 3 300 4 350 3 400 5 總容量 10人...
腦洞系列 XJOJ 挖金礦
這個題目,在考場上我沒有做不出來,說實話,開始的時候,我都沒看出來這是個二分!這個題目因為資料範圍給的很難受 n m 而不是n m 所以我們在求每一列的字首和的時候,我們可以抽象成一維來做。我們設答案為ans,ans sum h sum為挖過的所有金礦的價值之和,h為挖過的金礦的個數 sum ans...
1128 二分 二分查詢
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...