二分貪心 T

2021-07-31 13:05:17 字數 620 閱讀 4557

題目:有1*1,2*2,3*3,4*4,5*5,6*6大小的盒子,要把它們裝到6*6的盒子裡,它們的高度都是相同的,用最少的6*6盒子把所有尺寸的盒子都裝起來。

解題思路:6*6,5*5以及4*4尺寸的物品每個物品需要占有乙個箱子,3*3的物品乙個箱子可以放4個,2*2的物品箱子可以放9個,1*1的可以放36個,用面積統計1*1箱子的空位,根據這個思路就可以解題了

**:#include

using namespace std;

int main()

;while(1)

if(b==0)

int sum=0;

sum=value[6]+value[5]+value[4]+(value[3]+3)/4;

int c=value[4]*5+a[value[3]%4];

if(value[2]>c)

sum+=(value[2]-c+8)/9;

int x=sum*36-value[6]*36-value[5]*25-value[4]*16-value[3]*9-value[2]*4;

if(value[1]>x)

sum+=(value[1]-x+35)/36;

cout《感想:這種題必須要想清楚了再做。

二分查詢 T

l左 r右查詢條件 while l r include include include using namespace std intsearch int a,int n,int p int lowerbound int a,int n,int p int main 給定陣列 找其中的某個元素 in...

二分貪心 21

題目大概 有n堆積木,積木高度不同,每個小方塊高度相同。問,最少移動多少小方塊,使得這些積木堆高度相等。思路 先求這些積木的平均數,在把所有的高度與平均數的差值加起來,最後除2,就是最少移動的方塊數。感想 這個題有一點很坑人,最後輸出的時候有乙個小點,不注意看看不到。include include ...

二分貪心 E

題目 輸入n和c,n代表有n間屋子c代表有c頭牛,然後輸入n個數代表這n間房子的座標,牛不喜歡這個布局,一進去就會很暴躁,所以要把牛分的盡可能的遠求最近兩頭牛的最大距離。解題思路 建立乙個陣列存這些房子的座標,然後用sort將這些座標排序,然後令l 0,r a n mid l r 2,先用mid當作...