题意:
     给了一些处在x轴上的点,要求我们用长度相等的线段覆盖所有点,线段和线段之间不能重叠,问线段最长可以使多长。

思路:

      一开始一直在想二分,哎!感觉这个题目很容易就往二分上去想,但是其实仔细想想并不是满足单调性的(对于我的方法是不满足单调性的,别的方法有可能可以),一开始想的是不能出现连续的两个不满足,这里的满足就是可以有线段,各种wa,说下正确的思路吧,这个是中午才想出来的,这个题目我们可以贪心,首先要明白,最后的答案只有两种情况,要么是某两个相邻点的距离,要么是某个相邻点距离的一半,所以我们把所有可能都枚举一半,判断是否满足的时候可以用贪心的想法,对于每一个点,要么被左边线段覆盖,要么被右边线段覆盖,我们从左往右跑的话,那么就先判断能不能被左边覆盖,不能的话在判断能不能被右边覆盖,如果都不能那么当前长度就失败了,至于判断的细节很简单,自己想下,想不出来看下下面的代码就知道了。


#include<stdio.h>
#include<algorithm>#define N 51

using namespace std;double dis[N] ,num[N];
int mk[N];int ok(double now ,int n)
{mk[1] = 1;for(int i = 2 ;i < n ;i ++){double disl = dis[i-1] ,disr = dis[i];if(mk[i-1] == 1 && now <= disl || mk[i-1] == 2 && (now == disl || now <= disl / 2))mk[i] = 1;else if(now <= disr) mk[i] = 2;else return 0;}return 1;
}double maxx(double x ,double y)
{return x > y ? x : y;
}int main ()
{int n ,i ,t;scanf("%d" ,&t);while(t--){scanf("%d" ,&n);for(i = 1 ;i <= n ;i ++)scanf("%lf" ,&num[i]);sort(num + 1 ,num + n + 1);for(i = 2 ;i <= n ;i ++)dis[i-1] = num[i] - num[i-1];double ans = 0;for(i = 1 ;i < n ;i ++){if(ok(dis[i] ,n))ans = maxx(ans ,dis[i]);else if(ok(dis[i]/2 ,n))ans = maxx(ans,dis[i]/2);}printf("%.3lf\n" ,ans);}return 0;
}

hdu4932 小贪心相关推荐

  1. hdu4544 优先队列(小贪心)

    题意: 湫湫系列故事--消灭兔子                                                                         Time Limit: ...

  2. Dream City(01背包+小贪心)acm寒假集训日记21/12/30

    题目如下: AC代码如下: #include<iostream> #include<algorithm> #include<cstring> #include< ...

  3. 【2018.12.15】【考试总结】【模拟+逆序对+树状数组+贪心+multiset】爆零之旅

    这是我悲惨的接近爆零的一次考试,但是本蒟蒻不能放弃,还是要总结的QAQ 答题卡 [题目背景] 八月是个悲惨的月份.先不谈炎热的天气,对于新生来说,八月意味着军训: 而对于高二高三的同学来说,八月意味着 ...

  4. 【CodeForces - 722D】Generating Sets(二分,贪心)

    题干: You are given a set Y of n distinct positive integers y1, y2, ..., yn. Set X of n distinct posit ...

  5. 【HDU - 5014】Number Sequence(贪心构造)

    题干: There is a special number sequence which has n+1 integers. For each number in sequence, we have ...

  6. Codeforces Round #494 (Div. 3) D. Coins and Queries(贪心

    题目链接 题目大意:给你n个物品,第iii个物品价值aia_iai​,询问q次,问你能不能凑出价值为qiq_iqi​的物品. 小贪心吧.从大到小找,能拿就拿就行了. #include<bits/ ...

  7. 杭电 Problem 2187 悼念512汶川大地震遇难同胞——老人是真饿了【贪心】

    悼念512汶川大地震遇难同胞--老人是真饿了 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  8. codeforces-1132 (div2)

    A.发现b的个数没有意义,a不等于d一定不可行,c不管多少都算一个,如果只有c没有ad也不可行 #include <map> #include <set> #include & ...

  9. 2020级HAUT新生周赛(四)@张承树专场

    文章目录 A:会写脚本的月月鸟 B:别看了 这是水题 C:ACM脱单大法 D:Love_Jacques学长的游戏思维 E:后缀自动机next指针dag图上跑SG函数 F:新建 Microsoft Po ...

最新文章

  1. 网页打不开,却能上qq,何解?
  2. python冒泡排序算法时间复杂度为nlogn_Python版算法专题-1、冒泡排序
  3. 单指手势,旋转,缩放
  4. 店宝宝电脑版_起名字 测名字神器 电脑安卓全有了
  5. Matlab:成功解决The option is not valid. The options must be'double','native','default','omitnan', or'inc
  6. php 某一天时间凌晨,PHP获得今天 天凌晨时间戳的例子
  7. Linux系统\Centos没有网卡eth0配置文件怎么办?
  8. cocos2d-x JS 随机数
  9. Linux常用的命令及操作技巧
  10. 高手如何实践HBase?不容错过的滴滴内部技巧
  11. GitHub项目功能理解
  12. c excel批量导入mysql数据库_Excel批量导入数据库
  13. java判断光标位置_Java如何知道光标的当前位置?
  14. Ant-编译构建(2)-第3方jar包引入、log4j2
  15. 如何下载matlab,如何下载MATLAB?
  16. PE使用万能驱动7解决USB3、NVME驱动问题及台式机、笔记本电脑使用PE因驱动问题不能加载硬盘问题(YOGA 14C 因PE加载不了硬盘亲测可用)
  17. 《Linux命令行大全》第2版来啦!这一版做了哪些更新?
  18. Macbook Pro 201 装Win10 声卡_直播_个人工作室入门_1K-2k价位录音编曲声卡推荐
  19. Java类型转换简单运用
  20. 洛谷P4207 [NOI2005]月下柠檬树(计算几何+自适应Simpson法)

热门文章

  1. [Angularjs]ng-repeat中使用ng-model遇到的问题
  2. asp.net操作cookie
  3. 常用的 服务器 与 交换机
  4. 转:保留小数点后四位,不足自动补0
  5. NPOI的excel导出1
  6. 知识体系地图模型:你是如何有效地学习?
  7. POJ 3278 Catch That Cow(BFS)
  8. Scrapy002-框架安装
  9. 【bzoj2463】 谁能赢呢?
  10. 【精品资源】干货分享:20款精美的手机网站模板下载