博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分 例题3
阅读量:6360 次
发布时间:2019-06-23

本文共 2586 字,大约阅读时间需要 8 分钟。

Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u
Submit     

Description

There are N point on X-axis . Miaomiao would like to cover them ALL by using segments with same length. 
There are 2 limits: 
1.A point is convered if there is a segments T , the point is the left end or the right end of T. 
2.The length of the intersection of any two segments equals zero. 
For example , point 2 is convered by [2 , 4] and not convered by [1 , 3]. [1 , 2] and [2 , 3] are legal segments , [1 , 2] and [3 , 4] are legal segments , but [1 , 3] and [2 , 4] are not (the length of intersection doesn't equals zero), [1 , 3] and [3 , 4] are not(not the same length). 
Miaomiao wants to maximum the length of segements , please tell her the maximum length of segments. 
For your information , the point can't coincidently at the same position.
 

Input

There are several test cases. 
There is a number T ( T <= 50 ) on the first line which shows the number of test cases. 
For each test cases , there is a number N ( 3 <= N <= 50 ) on the first line. 
On the second line , there are N integers Ai (-1e9 <= Ai <= 1e9) shows the position of each point.
 

Output

For each test cases , output a real number shows the answser. Please output three digit after the decimal point.
 

Sample Input

3 3 1 2 3 3 1 2 4 4 1 9 100 10
 

Sample Output

1.000 2.000 8.000

Hint

For the first sample , a legal answer is [1,2] [2,3] so the length is 1. For the second sample , a legal answer is [-1,1] [2,4] so the answer is 2. For the thired sample , a legal answer is [-7,1] , [1,9] , [10,18] , [100,108] so the answer is 8. 代码: 为什么要加后面那一段再判一下呢?删掉就错了呢?为什么呢?我也不知道啊,是吧?
1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 7 const double inf=1e9+7; 8 9 int n;10 double a[56];11 12 bool C(double x)13 {14 int i;15 double ab=a[1];16 for(i=2;i
=x)19 {20 ab=a[i];21 }22 else23 {24 if(a[i+1]-a[i]
x)32 {33 ab=a[i]+x;34 }35 }36 }37 return true;38 }39 40 int main()41 {42 int T;43 int i,j;44 scanf("%d",&T);45 while(T--)46 {47 scanf("%d",&n);48 for(i=1;i<=n;i++)49 scanf("%lf",&a[i]);50 sort(a+1,a+n+1);51 double lb=0,ub=inf;52 for(i=1;i<=100;i++)53 {54 double mid=(lb+ub)/2.0;55 if(C(mid))56 lb=mid;57 else58 ub=mid;59 }60 for(i=1;i
lb)62 lb=a[i+1]-a[i];63 printf("%.3lf\n",lb);64 }65 return 0;66 }
View Code

 

转载于:https://www.cnblogs.com/cyd308/p/4693664.html

你可能感兴趣的文章
Windows Azure Platform Introduction (6) Windows Azure应用程序运行环境
查看>>
Windows Azure VM Role (3) 在VHD中安装Windows Server 2008 R2
查看>>
Windows 8 Platform (三) Windows 8 Developer Preview
查看>>
根据条件用一个表的字段,去更新另一个表的字段
查看>>
thinkphp模板中使用自定义函数
查看>>
TP复习3
查看>>
(Delphi) Using the Disk Cache 使用磁盘缓存
查看>>
用Feature的方式删除SharePoint2010的Page中重复的WebPart
查看>>
递归算法学习系列之三(快速排序)
查看>>
从TdataSet生成OleVariant
查看>>
预告和目录: Wayne Game Solution 0.1 网络游戏大厅 从最基础开始
查看>>
xBIM WeXplorer xViewer的导航,相机、剖切、隐藏 等操作
查看>>
(转)预编译头文件
查看>>
艾伟_转载:浅析IHttpModule和IHttpHandler
查看>>
百万级访问量网站的技术准备工作
查看>>
Gnome Tweak Tool 3.0.5发布
查看>>
杭州鼎家被曝破产:长租公寓过度金融化酿恶果
查看>>
刘慈欣点赞科幻电影《流浪地球》:震撼心灵
查看>>
香港将发展中央儿童数据资料库 研究整合各部门数据
查看>>
安徽凤阳警方打掉一假证团伙 成员多为校长和老师
查看>>