您的位置:首页 > 其它

noip 2015 提高组 跳石头

2017-07-14 10:43 232 查看
太久没有做这么简单,单纯的二分题目了。

首先哪些题目可以用二分呢?常见的就是问最大,最小值。然后通过二分法,不断缩小答案范围(通过是否满足题目条件去判断)。

这道跳石头,问的是跳跃距离,所以我们二分跳跃距离,然后通过跳跃次数来判断是否可以达到,来不断二分得范围。

由于考试过后,代码没来得及存储,所以只重写一下check了

bool check(int length){
int sum,last;
times=0;last=0;
for (int i=1;i<=n;i++){
if (a[i]-last<length) {  times+=1;continue;}
last=a[i];
}
if (times>m) return 0;
return 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: