求得是最小力度R,R最大显然不超过最左边干草堆与最右边干草堆的距离。
有了下界(0)和上界,容易想到二分(估计很多人考场上都想到了)
二分力度,并判断是否可行。
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
double l=0,r=1.0*(a[n] - a[1])/2;
int bash = 70;
while(r-l>eps && --bash)
{
double mid=(l+r)

该文描述了一个计算最小力度以覆盖所有干草堆的问题,采用二分搜索算法,在给定的上下界内寻找合适的力度值。在每次迭代中,通过暴力判断当前力度是否可行,通过区间扩散检查能否从中间位置波及到所有干草堆。如果不可行,则调整力度边界,直到找到满足条件的最小力度。
最低0.47元/天 解锁文章
822

被折叠的 条评论
为什么被折叠?



