题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5248

解题思路:这道题我原本的思路是动态规划,结果看到数很大,结果放弃了。然后想到二分,思路是对的,只是在check()函数时想的太复杂了,没有想到这里有贪心的结构,而采用的是动规去枚举。结果超时了。假设二分枚举到x,那么a[i]就可以尽可能地变小,最小可以小到a[i]-x,这样就可以把数列变成尽可能小的递增序列。感觉对有些题的贪心结构还是不敏感。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;const int maxn = 100005;
int n,A[maxn],B[maxn];bool check(int len)
{for(int i = 1; i <= n; i++)B[i] = A[i];B[1] = B[1] - len;for(int i = 2; i <= n; i++){if(B[i] <= B[i-1]){if(B[i-1] + 1 - B[i] <= len) B[i] = B[i-1] + 1;else return false;}else if(B[i] - B[i-1] > len) B[i] = B[i] - len;else B[i] = B[i-1] + 1;}return true;
}int main()
{int t,cas = 1;scanf("%d",&t);while(t--){scanf("%d",&n);for(int i = 1; i <= n; i++)scanf("%d",&A[i]);int l = 0,r = 1000000,mid,ans = 0;while(l <= r){mid = (l + r) >> 1;if(check(mid) == true){ans = mid;r = mid - 1;}else l = mid + 1;}printf("Case #%d:\n%d\n",cas++,ans);}return 0;
}

hdu 5248(二分+贪心)相关推荐

  1. 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)

    CF1041C Coffee Break(二分+贪心+set) 描述 Recently Monocarp got a job. His working day lasts exactly mm min ...

  2. 洛谷P1182 数列分段 Section II(二分+贪心)

    题目描述 对于给定的一个长度为N的正整数数列 A1∼NA _{1∼N}A1∼N​,现要将其分成 M(M≤N)M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一 ...

  3. HDU 2389(二分最大匹配优化算法,Hopcroft-Carp)

    HDU 2389(二分最大匹配优化算法,Hopcroft-Carp) 题目链接: 大致题意; 您能帮助客人在下雨之前尽可能多地找到一把雨伞? 给定所有客人的位置和跑步速度,雨伞位置,到下雨开始时的时间 ...

  4. [USACO16JAN]Angry Cows S[二分+贪心]

    题意:Bessie 设计了一款新游戏:Angry Cows.在这个游戏中,玩家发射奶牛,每头奶牛落地时引爆一定范围内的干草.游戏的目标是使用一组奶牛引爆所有干草. N 捆干草排列在数轴上的不同位置.第 ...

  5. BZOJ2525 [Poi2011]Dynamite 【二分 + 贪心】

    题目链接 BZOJ2525 题解 就是要求所有有炸弹的点到点燃点距离最大值最小 显然二分答案距离\(D\) 然后按深度排序,贪心点燃当前没覆盖的深度最深的点往上第\(D\)层的点 每覆盖一个点要标记其 ...

  6. hdu5248序列变换(二分+贪心)基础题

    题意(中文的直接粘题意吧)                                                                                        ...

  7. 外卖(food) 洛谷4040宅男计划 三分套二分贪心

    food评测传送门 [题目描述] 叫外卖是一个技术活,宅男宅女们一直面对着一个很大的矛盾,如何以有限的金钱在宿舍宅得尽量久.     外卖店一共有 N 种食物,每种食物有固定的价钱 Pi 与保质期 S ...

  8. LA 4254 Processor 处理器 【二分 贪心 优先队列】

    题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=21663 二分: 最大值最小的问题通过二分来求解.对处理器速度进行 ...

  9. hdu 5246(贪心)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5246 解题思路:先排序,在采用贪心的方法,先给百小度找到合适的初始战斗力,找到比初始战斗力上限小的中最 ...

最新文章

  1. JVM内存管理:深入Java内存区域与OOM
  2. 第二次作业 郭昭杰 201731062608
  3. 使用postman传递参数时报错:Content type ‘multipart/form-data;boundary=--(略)
  4. 里计算两个数的总和_2个公式,在Excel里面去掉最高分和最低分计算平均值
  5. TCP/IP协议栈到底是内核态好还是用户态好?
  6. python中缩进在程序中_有没有办法将Python代码中的缩进转换为大括号?
  7. 为了解决架构的问题,我们需要先理解敏捷的真谛
  8. 每一个写博客的程序猿,都应该被温柔对待
  9. windows多用户远程登录工具 RDPWrap配置
  10. html里表格做斜线表头,word2010怎么绘制斜线表头
  11. 手把手教你深度学习ai变证件照尺寸+改背景色
  12. CDR教程-海报中的立体星星怎么画
  13. 我在离天空最近的城市
  14. 人工智能既预测世界杯冠军,还帮你“讨债”?
  15. python怎么隐藏输入法_如何创建隐藏的文本输入框?
  16. 这样讲解EMI/EMS/EMC,非专业人士看后都懂了
  17. CMD以及运行命令整理
  18. 《乔布斯传》--- 地铁系列
  19. 为什么latex中的宋体和黑体与word中不一样 如何设置字体样式 renewcommand和newcommand的区别
  20. android 仿微信demo————微信消息界面实现(服务端)

热门文章

  1. 「神策 2020 数据驱动用户大会」10 月 13 日即将开幕,5 大亮点提前解锁!
  2. 数据之“星”再燃,第二届「星斗奖」申报正式启动!
  3. 运营,如何用数据说话?(以电商活动复盘为例)
  4. XML数据读取——Digester简单使用
  5. 微信公众平台----带参数二维码生成和扫描事件
  6. angle-class
  7. 暑假周报告(第三周)
  8. 《Selenium自动化测试指南》—第1章1.1节自动化测试基础
  9. 文件创建和删除命令:touch、rm
  10. 如何在大学和工作后让自己逐渐变强?