HDU5248
来源:互联网 发布:js去掉数组中的空格 编辑:程序博客网 时间:2024/06/05 15:39
这是一道二分题,然而我做了好久都没有发现~~~
跟去年的跳石头有点相似,不断缩小范围:
#include<cmath>#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<algorithm>#define inf 100000000using namespace std;int a[100010],m,b[100010];int check(int x){ for(int i=1;i<=m;i++)b[i]=a[i]; b[1]-=x; for(int i=2;i<=m;i++){ b[i]-=x; if(b[i-1]>=b[i]){ if (abs(x-(b[i-1]-b[i]+1))<=x)b[i]=b[i-1]+1;else return 0; } } return 1;}int main(){ int i,j,k,n,_,Case=0; scanf("%d",&_); while(_--){ Case++; bool flag=0; scanf("%d",&m); scanf("%d",&a[1]); for(i=2;i<=m;i++){ scanf("%d",&a[i]); if(a[i]<=a[i-1])flag=1; } if(!flag){ printf("Case #%d:\n%d\n",Case,0); continue; } int l=0,r=inf; while(l<=r){ int mid=(l+r)/2; if(check(mid))r=mid-1; else l=mid+1; } printf("Case #%d:\n%d\n",Case,l); } return 0;}
0 0
- HDU5248
- hdu5248 二分
- HDU5248 序列变换 二分
- hdu5248 序列变换 二分
- HDU5248(二分+模拟)
- HDU5248 序列变换(二分)
- HDU5248:序列变换(二分)
- hdu5248---序列变换(二分答案+贪心)
- hdu5248序列变换 二分查找 贪心
- hdu5248序列变换(二分+贪心)基础题
- PHP SOCKET编程
- 初学C
- FPGA实现SIFT,全部使用FPGA实现直接生产描述子,全流水处理
- html 中的frameset标签
- 第十二周项目4--利用遍历思想求解问题
- HDU5248
- [考研日记]:2016-11-14
- 20161111全志A83T的开发板的驱动调试(LCD+AP6212)lunch octopus_perf-eng
- windows 10+VS2015配置directshow
- maven 部署项目到远程服务器
- [贪心 入门题] 洛谷 P2651 添加括号III
- HDU 1242 特殊化带结构体BFS
- 嵌入式操作系统知多少?
- makefile