Miaomiao's Geometry
HDU 4932 Bestcoder
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.
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.
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.
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include<iostream>
#include<math.h> using namespace std; int main()
{
int cas,i,n,right,left;
double res,a[55],b[120];
cin>>cas;
while(cas--)
{
cin>>n;
int j=0;
for(i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
for(i=1;i<n;i++)
{
b[j++]=a[i]-a[i-1];
b[j++]=(a[i]-a[i-1]) /2 ;
}
sort(b,b+j);
int flag=0;
j=j-1;
res=(double)b[j]; while(1)
{
right =0; left=0;
flag=0;
for(i=1;i<n;i++)
{
if(i==n-1) continue;
if(a[i]-res<a[i-1] && a[i]+res>a[i+1])
{
flag=1;
break;
}
if(a[i]-res>=a[i-1])
{
if(right==1)
{
if(a[i]-a[i-1]==res) {left=1; right=0; }
else if(a[i]-a[i-1]>=2*res) { left=1; right=0; }
else if(a[i]+res<=a[i+1]) { left=0; right=1; }
else flag=1;
}
else { left=1; right=0; }
}
else if(a[i]+res<=a[i+1]) {
right=1;
left=0;
} }
if(flag==1) {
j--;
res=b[j];
}
else
{
printf("%.3lf\n",res);
break;
}
}
}
return 0;
}
Miaomiao's Geometry的更多相关文章
- BestCoder Round #4 之 Miaomiao's Geometry(2014/8/10)
最后收到邮件说注意小数的问题!此代码并没有过所有数据,请读者参考算法, 自己再去修改一下吧!注意小数问题! Miaomiao's Geometry Time Limit: 2000/1000 MS ( ...
- 枚举+贪心 HDOJ 4932 Miaomiao's Geometry
题目传送门 /* 题意:有n个点,用相同的线段去覆盖,当点在线段的端点才行,还有线段之间不相交 枚举+贪心:有坑点是两个点在同时一条线段的两个端点上,枚举两点之间的距离或者距离一半,尽量往左边放,否则 ...
- hdu4932 Miaomiao's Geometry
这是一道搜索题,我们很容易得到目标值的上下界,然后就只能枚举了. 就是将x轴上的点排序之后从左到右依次考察每个点,每个点要么在线段的左端点,要么在线段的右端点. 点编号从0到n-1,从编号为1的点开始 ...
- 【HDOJ】4932 Miaomiao's Geometry
递归检测.因为dis数组开的不够大,各种wa.写了个数据发生器,果断发现错误,改完就过了. #include <cstdio> #include <cstring> #incl ...
- BestCoder4 1002 Miaomiao's Geometry (hdu 4932) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4932 题目意思:给出 n 个点你,需要找出最长的线段来覆盖所有的点.这个最长线段需要满足两个条件:(1 ...
- HDU 4932 Miaomiao's Geometry(推理)
HDU 4932 Miaomiao's Geometry pid=4932" target="_blank" style="">题目链接 题意: ...
- hdu 4932 Miaomiao's Geometry(暴力)
题目链接:hdu 4932 Miaomiao's Geometry 题目大意:在x坐标上又若干个点,如今要用若干条相等长度的线段覆盖这些点,若一个点被一条线段覆盖,则必须在这条线的左端点或者是右端点, ...
- hdu4932 Miaomiao's Geometry (BestCoder Round #4 枚举)
题目链接:pid=4932" style="color:rgb(202,0,0); text-decoration:none">http://acm.hdu.edu ...
- hdu 4932 Miaomiao's Geometry(暴力枚举)
pid=4932">Miaomiao's Geometry ...
随机推荐
- 记录一次Android交叉编译ffmpeg排查错误
Android版本手机直播引擎中,引用了libvlc开源库.项目接过来,发现编译脚本中使用了很多用户名下的绝对路径.项目相关人离职,导致这个脚本实际上已经废掉.而且不知道相关路径下有没有其他文件和第三 ...
- Create a commit using pygit2
Create a commit using pygit2 Create a commit using pygit2 2015-04-06 10:41 user1479699 imported from ...
- HTTP响应报文与工作原理详解
超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到 ...
- Hellow world!
其实一年前开始就有了些许开篇技术博客的想法,一直觉得写这些的人都一定好牛×.现刚毕业,我也是时候朝牛×之路迈进了.当然,我才刚入门不久,前路漫漫,需一步一脚印,先打算把平常遇到的一些问题与关注的东西都 ...
- Hibernate之基于主键映射的一对一关联关系
1. 基于主键的映射策略:指一端的主键生成器使用foreign策略,表明根据"对方"的主键来生成自己的主键,自己并不能独立生成主键.并用<param> 子元素指定使用当 ...
- Hibernate的常用关键类以及接口介绍
上一篇初步的对Hibernate进行了认识,并测试了Hibernate的HelloWorld, 这里主要介绍HibernateTest类中的相关类和接口,以及其作用和特性,关于Session中的相关方 ...
- Xshell异常断开
这可能是由于 SSH 超时断开连接 导致的!可以这样做...修改/etc/ssh/sshd_config文件,找到 ClientAliveInterval 0和ClientAliveCountMax ...
- HDU 4891 The Great Pan (模拟)
The Great Pan 题目链接: http://acm.hust.edu.cn/vjudge/contest/123554#problem/D Description As a programm ...
- linux下查看端口的占用情况
前提:首先你必须知道,端口不是独立存在的,它是依附于进程的.某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了.下次若某个进程再次开启,则相应的端口也再次开启.而不要纯粹的理解为关闭 ...
- ADO.NET 快速入门(十二):从 SQL Server 生成 XML 数据
本文演示如何使用2种不同的方法从 SQL Server 生成 XML. 方法1:使用了 SqlCommand 的 ExecuteXmlReader 方法获取 XmlReader,然后使用 Data ...