2019牛客暑期多校訓練營(第六場)D Move

2022-08-17 14:33:14 字數 877 閱讀 8177

[題目大意]

n個物品及其體積,用k個相同的箱子裝,求能裝下這n個物品的箱子的最小容積。

對於乙個箱子,每次都先裝能裝下的最大的物品,不能滿足則開始裝下乙個箱子。

[思路]

ans = max (  vol [i] , ceil(sum ( vol [i]] ) / k ))  ,while(ans++)直到能裝下所有物品。

[**]

1 #include2

using

namespace

std;

3const

int maxn=1e3+3;4

intarr[maxn];

5int

n,m;

6int

vol[maxn];

7bool check(int

now)822

}23if(!flag)

2428

if(num_box>m)return

false;29

}30return

true;31

}32intmain()

3348 ans=max(ans,sum/m);

49 sort(arr+1,arr+n+1

);50

while(!check(ans))

5154 printf("

case #%d: %d\n

",k,ans);

55 k++;56}

57return0;

58}59/*603

613 2

626 6 7

635 3

641 2 3 4 5

65*/

2019牛客暑期多校訓練營(第六場)

rank solvedab cdef ghij 332 820 3 10o o o o 當場通過 賽後通過 尚未通過 solved by viscaria viscaria s solution upsolved by feynman1999 feynman1999 s solution upsol...

2019牛客暑期多校訓練營(第六場)D Move

傳送門 題意 你有n件行李,有k個箱子體積相同的箱子,遵循下面的規則將行李放進箱子裡面 每次都取當前最大的可以放進箱子的行李放進箱子,如果該箱子放不進任何行李那麼就換乙個新的箱子再按照這一條規則進行放行李 請問箱子最小的體積是多少可以放進所有行李 思路 還是菜雞的我比賽的時候沒有思路,也木有想法,賽...

牛客暑期多校訓練營B Boundary

給定n個點,然後確定乙個過原點的圓,要使這n個點盡可能多的存在與圓上,最後輸出最多的存在於圓上的點的個數 三點確定乙個圓,我們已知這個圓必定經過原點,所以再依次利用三點求圓心的公式列舉每兩個點與原點 三點不共線 確定的圓心,最後選擇確定次數最多的圓心構成的圓 include include incl...