shopee的零食櫃,有著各式各樣的零食,但是因為貪吃,小蝦同學體重日益增加,終於被人叫為小胖了,他終於下定決心**了,他決定每天晚上去操場跑兩圈,但是跑步太累人了,他想轉移注意力,忘記痛苦,正在聽著**的他,突然有個想法,他想跟著**的節奏來跑步,**有7種音符,對應的是1到7,那麼他對應的步長就可以是1-7分公尺,這樣的話他就可以轉移注意力了,但是他想保持自己跑步的速度,在規定時間m分鐘跑完。為了避免被累死,他需要規劃他每分鐘需要跑過的音符,這些音符的步長總和要盡量小。下面是小蝦同學聽的歌曲的音符,以及規定的時間,你能告訴他每分鐘他應該跑多少步長?
輸入的第一行輸入 n(1 ≤ n ≤ 1000000,表示音符數),m(1<=m< 1000000, m <= n)組成,第二行有 n 個數,表示每個音符(1<= f <= 7)。
輸出每分鐘應該跑的步長。
這道題其實是相當於在n個數間插入m-1個棍,將其分為m組,分組的和的最大值就是這一種分法的步長,求所有分法中步長最小的那一種。
暴力搜尋的方法想當於在n-1個位置上挑出m-1個位置進行全排列,這樣時間複雜度會很高,嘗試過深度搜尋之後果然超時。
換乙個角度;將這n個數分為m組,所有組的和是資料的總和,分組越多,每一組的大小越小,步長越小,分組越少,每一組的大小越大,步長越大,最小的步長是所有資料中的最大值(分組為n),最大的步長是所有數的總和(分組為1),那麼題目就是尋找滿足分成m組的最小步長,有了上下界,就可以進行二分搜尋。
#include
#include
using
namespace std;
class
solution
cnt++;}
if(cnt<=m) high=mid;
else low=mid+1;
}return low;}}
;int
main()
零食小餅乾
吃貨的最高境界就是把喜歡吃的東西用自己的雙手做出來 哈哈哈.廢話不多說了,直接開始做餅乾吧!材料 低筋麵粉 554克 糖粉 150克 無鹽黃油 227克 雞蛋 3個 奶粉 60克 1 黃油隔水融化,用打蛋器攪拌均勻。2 分別加入糖粉,奶粉,攪拌均勻。要加糖粉或者糖霜類,這樣才可以融化哦!3 雞蛋分次...
ZZULI 吃零食 貪心
時間限制 1 sec 記憶體限制 128 mb 快要到期末了,pht在這兩天好忙啊。經過幾個小時的奮戰,他終於把實驗報告寫完了,但是他因此錯過了午飯時間,pht覺得自己好餓。這時他發現在旁邊xcp的位置上有好多零食,pht決定偷偷的拿一點他的零食吃 一共有n種零食,每種零食有ai袋 為了使xcp不容...
吃零食 csust oj 貪心
吃零食桌上有n袋零食,不同的零食會有不同的美味程度wi和腐壞程度di,每種零食在一單位時間內美味程度都會下降di,但是不會降到0以下。qwb每一單位時間可以吃掉一袋零食。現在qwb想要在吃完所有零食後獲得的美味度最大。問最大值是多少?input 第一行,乙個整數n,代表有n袋零食接下來n行,每行2個...