hdu 5248(二分+贪心)
题目链接: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(二分+贪心)相关推荐
- 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)
CF1041C Coffee Break(二分+贪心+set) 描述 Recently Monocarp got a job. His working day lasts exactly mm min ...
- 洛谷P1182 数列分段 Section II(二分+贪心)
题目描述 对于给定的一个长度为N的正整数数列 A1∼NA _{1∼N}A1∼N,现要将其分成 M(M≤N)M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一 ...
- HDU 2389(二分最大匹配优化算法,Hopcroft-Carp)
HDU 2389(二分最大匹配优化算法,Hopcroft-Carp) 题目链接: 大致题意; 您能帮助客人在下雨之前尽可能多地找到一把雨伞? 给定所有客人的位置和跑步速度,雨伞位置,到下雨开始时的时间 ...
- [USACO16JAN]Angry Cows S[二分+贪心]
题意:Bessie 设计了一款新游戏:Angry Cows.在这个游戏中,玩家发射奶牛,每头奶牛落地时引爆一定范围内的干草.游戏的目标是使用一组奶牛引爆所有干草. N 捆干草排列在数轴上的不同位置.第 ...
- BZOJ2525 [Poi2011]Dynamite 【二分 + 贪心】
题目链接 BZOJ2525 题解 就是要求所有有炸弹的点到点燃点距离最大值最小 显然二分答案距离\(D\) 然后按深度排序,贪心点燃当前没覆盖的深度最深的点往上第\(D\)层的点 每覆盖一个点要标记其 ...
- hdu5248序列变换(二分+贪心)基础题
题意(中文的直接粘题意吧) ...
- 外卖(food) 洛谷4040宅男计划 三分套二分贪心
food评测传送门 [题目描述] 叫外卖是一个技术活,宅男宅女们一直面对着一个很大的矛盾,如何以有限的金钱在宿舍宅得尽量久. 外卖店一共有 N 种食物,每种食物有固定的价钱 Pi 与保质期 S ...
- LA 4254 Processor 处理器 【二分 贪心 优先队列】
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=21663 二分: 最大值最小的问题通过二分来求解.对处理器速度进行 ...
- hdu 5246(贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5246 解题思路:先排序,在采用贪心的方法,先给百小度找到合适的初始战斗力,找到比初始战斗力上限小的中最 ...
最新文章
- JVM内存管理:深入Java内存区域与OOM
- 第二次作业 郭昭杰 201731062608
- 使用postman传递参数时报错:Content type ‘multipart/form-data;boundary=--(略)
- 里计算两个数的总和_2个公式,在Excel里面去掉最高分和最低分计算平均值
- TCP/IP协议栈到底是内核态好还是用户态好?
- python中缩进在程序中_有没有办法将Python代码中的缩进转换为大括号?
- 为了解决架构的问题,我们需要先理解敏捷的真谛
- 每一个写博客的程序猿,都应该被温柔对待
- windows多用户远程登录工具 RDPWrap配置
- html里表格做斜线表头,word2010怎么绘制斜线表头
- 手把手教你深度学习ai变证件照尺寸+改背景色
- CDR教程-海报中的立体星星怎么画
- 我在离天空最近的城市
- 人工智能既预测世界杯冠军,还帮你“讨债”?
- python怎么隐藏输入法_如何创建隐藏的文本输入框?
- 这样讲解EMI/EMS/EMC,非专业人士看后都懂了
- CMD以及运行命令整理
- 《乔布斯传》--- 地铁系列
- 为什么latex中的宋体和黑体与word中不一样 如何设置字体样式 renewcommand和newcommand的区别
- android 仿微信demo————微信消息界面实现(服务端)