題目大概:
給出n根長度不同的木棒,讓我們切成長度相同的m根木棒,問切的木棒的最長長度是多少。
思路:每根木棒的長度和根數成反比。
長度 l =0,,r為木棒總長度除m。mid=(l+r)/2.。
用二分法不斷逼近最大的長度即可。
最後取右端點。
**:
#include
#include
#include
#include
using
namespace std;
double l,r=
0,mid;
double sum=0;
double a[
100600
];int
main
()sum=sum/(
double
)(m);l=0
;r=sum;
while
(r-l>
1e-10)if
(j>=m)
else r=mid;
}printf
("%.2f\n"
,r=(
int)(r*
100)/
100.0
);return0;
}
二分貪心 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當作...
二分貪心 T
題目 有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的可...