【杭电4004】The Frog's Games
来源:互联网 发布:javascript键值对 编辑:程序博客网 时间:2024/06/04 00:54
思路:本题用到了二分的思想。青蛙一次跳跃的范围是0到L(题给),然后判断在一次跳跃距离为mid时能否在m次跳跃内完成,如果能完成则用一个变量记录mid,遇到更小的符合条件的一次跳跃的距离后更新该变量的值。直接输出该变量。
#include<stdio.h>#include<algorithm>using namespace std;const int MAXN = 5*1e5+10;int a[MAXN];int L,n,m;bool judge(int u) { int base=0; int sum=0; for(int l=1; l<=n+1;) { if(base+u>=a[l]) { l++; } else{ if(base==a[l-1]) return false; base=a[l-1]; sum++; } } sum++; return sum<=m;}int main() { while(scanf("%d %d %d",&L,&n,&m)!=EOF) { for(int l=1; l<=n; l++) { scanf("%d",&a[l]); } sort(a+1,a+n+1); a[n+1]=L; int l=0,r=L; int ans;//记录最小距离 while(l<=r) { int mid=r+l>>1; if(judge(mid)) { r=mid-1; ans=mid; } else { l=mid+1; } } printf("%d\n",ans); } return 0;}
http://acm.hdu.edu.cn/showproblem.php?pid=4004
0 0
- 杭电 4004 The Frog's Games
- 【杭电4004】The Frog's Games
- 【杭电】[4004]The Frog's Games
- 杭电4004The Frog's Games
- HDU--杭电--4004--The Frog's Games--二分
- 【杭电4004】The Frog's Games Time 青蛙过河
- 杭电-4004 The Frog's Games(二分)
- 【杭电oj】4004 - The Frog's Games(STL & 二分 & 贪心)
- The Frog's Games
- The Frog's Games
- The Frog's Games
- The Frog's Games
- HDU 4004 THE FROG’S GAMES(二分)
- HDU 4004 The Frog's Games
- hdu 4004 The Frog's Games
- HDU 4004 The Frog's Games
- HDU 4004 The Frog's Games
- HDOJ 4004 The Frog's Games 二分
- 公钥,私钥和数字签名这样最好理解
- runtime 机制
- 一个前端写的php博客系统--支持markdown哦
- 深入JavaScript
- pat1063. Set Similarity
- 【杭电4004】The Frog's Games
- Java+oracle树查询实现easyui中tree使用的json
- 字符串匹配的KMP算法
- 设计模式_观察者模式
- android studio存储sharedpreference checkbox例子
- TimeUtils时间戳转换为指定格式的时间
- 顺序表应用5:有序顺序表归并
- 杭电ACM--HDU1201--18岁生日
- c++ primer学习(三)表达式