HDU 4004 - The Frog\'s Games 第36届ACM/ICPC亚洲大连赛区网络赛
来源:互联网 发布:1024程序员节 编辑:程序博客网 时间:2024/04/30 02:41
这样需要找到这些石头的距离之间最大值,青蛙一次能跳的距离应该介于这个最大值和河流宽度L之间;可以用二分来求解;
code:
#include<cstdio>
#include<algorithm>
using namespace std;
int d[500001];
int l;
int calculate(int x) //计算出当距离为x时,至少需要多少步
{
int n=0,count = 0,p=0;
while(now<l)
{
n+=x;
while(n>=d[p+1])p++;
n=d[p];
count ++;
}
return count;
}
int main()
{
int n,m;
while(scanf(\"%d%d%d\",&l,&n,&m)!=EOF)
{
for(int i=1;i<=n;i++)
scanf(\"%d\",&d[i]);
sort(d+1,d+n+1);
d[0]=0;d[n+1]=l;
d[n+2]=2147483647;
int min=0;
for(int i=1;i<=n+1;i++)
{
if(min<d[i]-d[i-1])
min=d[i]-d[i-1];
}
int left=min,right=l;
int res;
while(left<=right) //二分查找
{
int mid=(left+right)/2;
if(calculate(mid)<=m)
{
res=mid;
right=mid-1;
}
else
left=mid+1;
}
printf(\"%d\\n\",res);
}
return 0;
}
- HDU 4004 - The Frog\'s Games 第36届ACM/ICPC亚洲大连赛区网络赛
- HDU 4004 The Frog's Games [2011 大连网络赛]
- HDU 4004 The Frog's Games(2011年大连网络赛 D 二分+贪心)
- The 36th ACM/ICPC Asia Regional Dalian Site 1003 The Frog's Games
- 大连,第36届ACM国际大学生程序设计竞赛,亚洲区大连赛区预选赛
- 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
- 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
- hdu 4004 The Frog's Games
- HDU 4004 The Frog's Games(二分)
- The Frog’s Games(hdu 4004)
- POJ 2251 - Dungeon Master
- POJ 2225 - Asteroids!
- POJ 1101 - The Game
- BFS 宽度优先搜索——初学
- POJ题目分类(算法分类较详细)
- HDU 4004 - The Frog\'s Games 第36届ACM/ICPC亚洲大连赛区网络赛
- HDU 题目分类
- UVA 10115 - Automatic Editing
- HDU 2909 - Expected Allowance
- 123 - Searching Quickly
- UVA 107 - The Cat in the Hat
- HDU 1969 - Pie
- HDU 3233 - Download Manager
- UVA 755 - 487--3279