POJ-1064 网线主管采用二分搜索技术
发布时间
阅读量:
阅读量
题目大意解析
假设有 N 根绳子,其各自的长度为 l_i,若需要从中截取 K 根等长的绳子,那么每根绳子的最大可能长度是多少?结果需保留两位小数。
解题思路分析
白书中所提及的典型二分查找问题中,左边界设定为0,右边界则取所有绳子中最长的那一根的长度。在每次迭代过程中,计算(l+r)/2这一中间值,并统计该长度下能够切割出的绳子数量,同时需注意以下几个关键点:
(1)为了保留符合要求的最大长度,在mid位置满足条件时,应将l更新为mid,从而维持r这一较大值不变。
(2)在输出结果时需特别注意格式要求,当r小于0.1时,应强制对尾数进行舍弃处理,具体方式为执行int(r * 100) / 100.0的操作。
(3)关于循环终止条件的设计,由于涉及小数运算,因此应采用l-r
完整代码
#include<iostream>
#include<iomanip>
#include<cmath>
#include<string.h>
#include<queue>
#inc
全部评论 (0)
还没有任何评论哟~
