【杭电】[4004]The Frog's Games
2016-07-26 17:49
260 查看
因为可以方便比较
mid是否比res大
(通过计算mid下跳过石头所需的次数)
所以可以对答案进行二分查找
#include<stdio.h> #include<algorithm> using namespace std; int a[500200]; int L,n,m; bool judge(int x) { int cnt=0,t=0; for(int i=1; i<=n; i++) { if(a[i]-a[i-1]>x) return false; if(a[i]-t>x) { cnt++; t=a[--i]; } } if(cnt+1<=m) return true; else return false; } int main() { while(scanf("%d %d %d",&L,&n,&m)!=EOF) { for(int i=1; i<=n; i++) scanf("%d",&a[i]); a[0]=0,a[++n]=L; sort(a,a+n+1); int l=0,r=L,res; while(l<=r) { int mid=(l+r)/2; if(judge(mid)) { res=mid; r=mid-1; } else l=mid+1; } printf("%d\n",res); } return 0; }
题目地址:【杭电】[4004]The Frog’s Games
相关文章推荐
- C++二分查找在搜索引擎多文档求交的应用分析
- C语言编程中实现二分查找的简单入门实例
- C#二分查找算法实例分析
- 二分查找算法在C/C++程序中的应用示例
- 在MySQL中实现二分查找的详细教程
- Java实现二分查找算法实例分析
- JAVA冒泡排序和二分查找的实现
- Python基于二分查找实现求整数平方根的方法
- python二分查找算法的递归实现方法
- Python二分查找详解
- 简介二分查找算法与相关的Python实现示例
- python二分查找算法的递归实现方法
- Python基于二分查找实现求整数平方根的方法
- 漫谈递归:二分查找算法的递归实现
- 二分查找
- [LeetCode] Find Minimum in Rotated Sorted Array
- 折半查找法
- "二分查找(Binary Search)"与"斐波那契查找(Fibonacci Search)"
- 二分查找
- C#版二分查找(代碼)