枚举差和差的1/2

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; double a[111];
double d[111];
int n; bool cal(double dis) {
int ok = 1;
for(int i=1; i<n-1; i++) {
if(ok==1) {
if(a[i]-dis>=a[i-1]) {
ok=1;
} else {
if(a[i]+dis<=a[i+1]) {
ok=0;
if(a[i]+dis==a[i+1]) {
i++;
ok=1;
}
} else {
return false;
}
}
} else {
if(a[i]-dis>=a[i-1]+dis) {
ok=1;
} else {
if(a[i]+dis<=a[i+1]) {
ok=0;
if(a[i]+dis==a[i+1]) {
i++;
ok=1;
}
} else {
return false;
}
}
}
}
return true;
} int main() {
int T;
scanf("%d",&T);
while(T--) {
scanf("%d",&n);
for(int i=0; i<n; i++) {
scanf("%lf",&a[i]);
}
int cnt = 0;
sort(a,a+n);
for(int i=1; i<n; i++) {
d[++cnt]=a[i]-a[i-1];
d[++cnt]=(a[i]-a[i-1])*0.5;
}
sort(d+1,d+cnt+1);
for(int i=cnt; i>=1; i--) {
if(cal(d[i])) {
printf("%.3lf\n",d[i]);
break;
}
if(d[i]==d[i+1]) continue;
}
}
}

hdu 4932的更多相关文章

  1. HDU 4932 Miaomiao&#39;s Geometry(推理)

    HDU 4932 Miaomiao's Geometry pid=4932" target="_blank" style="">题目链接 题意: ...

  2. hdu 4932 Miaomiao&#39;s Geometry(暴力)

    题目链接:hdu 4932 Miaomiao's Geometry 题目大意:在x坐标上又若干个点,如今要用若干条相等长度的线段覆盖这些点,若一个点被一条线段覆盖,则必须在这条线的左端点或者是右端点, ...

  3. BestCoder4 1002 Miaomiao's Geometry (hdu 4932) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4932 题目意思:给出 n 个点你,需要找出最长的线段来覆盖所有的点.这个最长线段需要满足两个条件:(1 ...

  4. hdu 4932 Miaomiao&#39;s Geometry(暴力枚举)

    pid=4932">Miaomiao's Geometry                                                               ...

  5. HDU 4932 贪心

    Miaomiao's Geometry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  6. hdu 4932 BestCoder Round #4 1002

    这题真是丧心病狂,引来今天的hack狂潮~ Miaomiao's Geometry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65 ...

  7. hdu 4932 /bestcoder B题 #4 /思维题

    题意:给一个数列(整数),用一些不相交的区间去覆盖(只能是用端点去覆盖,端点可以交).而且区间出度相等.求最大区间长度. 开始一下就敲了,枚举每个区间长度,判断合法,更新最大.但是后来一看小数,感觉不 ...

  8. Miaomiao's Geometry

    HDU 4932  Bestcoder Problem Description There are N point on X-axis . Miaomiao would like to cover t ...

  9. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

随机推荐

  1. 81.node.js前端html时页面格式错乱解决办法

    var http = require("http"); var url = require("url"); var fs = require("fs& ...

  2. 80.简单搭建nodeJS服务,访问本地站点文件

    转自:https://blog.csdn.net/iteye_1217/article/details/82679843 搭建nodejs服务器步骤: 1.安装nodejs服务(从官网下载安装),no ...

  3. Linux 串口终端调试工具minicom

    minicom是一个串口通信工具,就像Windows下的超级终端.可用来与串口设备通信,如调试交换机和Modem等,它的使用完全依靠键盘的操作. 一.安装: Linux各发行版因软件管理方式不同而不同 ...

  4. vuex的mutations如何传多个传参?

    1.不传参时的写法(官网例子): const store = new Vuex.Store({ state: { count: 1 }, mutations: { increment (state) ...

  5. <c:if test=""></c:if> 使用

    1.页面引用<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 2.整形判 ...

  6. 洛谷 P3692 [PUB1]夏幻的考试

    P3692 [PUB1]夏幻的考试 题目背景 夏之幻是软件工程系的大神,学校把举办考试的任务交给她了. 题目描述 某大学软工专业要举办一场笔试,学生们要在机读答题卡上填写答案来进行答题.学校把机读卡识 ...

  7. vue ---- 实现手机端(左滑 删除。右划 正常)

    touchstart: // 手指放到屏幕上的时候触发 touchmove: // 手指在屏幕上移动的时候触发 touchend: // 手指从屏幕上拿起的时候触发 touchcancel: // 系 ...

  8. POJ 3174 暴力枚举

    思路: 暴力枚举三个点 判一判 搞定 (x1*y1=x2*y2) x1.y1.x2.y2为他们两两的差 //By SiriusRen #include <cstdio> using nam ...

  9. shell 日期转换

    1.字符串转换为时间戳可以这样做: date -d "2010-10-18 00:00:00" +%s 输出形如: 1287331200 其中,-d参数表示显示指定的字符串所表示的 ...

  10. php开启openssl扩展

    windows下开启方法: 1: 首先检查php.ini中:extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘:’, 如果不存在这行,那么添加extensio ...