bzoj 1650: [Usaco2006 Dec]River Hopscotch 跳石子(二分)
来源:互联网 发布:淘宝怎么找以前的订单 编辑:程序博客网 时间:2024/06/05 22:44
1650: [Usaco2006 Dec]River Hopscotch 跳石子
Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 721 Solved: 457
[Submit][Status][Discuss]
Description
Every year the cows hold an event featuring a peculiar version of hopscotch that involves carefully jumping from rock to rock in a river. The excitement takes place on a long, straight river with a rock at the start and another rock at the end, L units away from the start (1 <= L <= 1,000,000,000). Along the river between the starting and ending rocks, N (0 <= N <= 50,000) more rocks appear, each at an integral distance Di from the start (0 < Di < L). To play the game, each cow in turn starts at the starting rock and tries to reach the finish at the ending rock, jumping only from rock to rock. Of course, less agile cows never make it to the final rock, ending up instead in the river. Farmer John is proud of his cows and watches this event each year. But as time goes by, he tires of watching the timid cows of the other farmers limp across the short distances between rocks placed too closely together. He plans to remove several rocks in order to increase the shortest distance a cow will have to jump to reach the end. He knows he cannot remove the starting and ending rocks, but he calculates that he has enough resources to remove up to M rocks (0 <= M <= N). FJ wants to know exactly how much he can increase the shortest distance *before* he starts removing the rocks. Help Farmer John determine the greatest possible shortest distance a cow has to jump after removing the optimal set of M rocks.
数轴上有n个石子,第i个石头的坐标为Di,现在要从0跳到L,每次条都从一个石子跳到相邻的下一个石子。现在FJ允许你移走M个石子,问移走这M个石子后,相邻两个石子距离的最小值的最大值是多少。
Input
* Line 1: Three space-separated integers: L, N, and M * Lines 2..N+1: Each line contains a single integer indicating how far some rock is away from the starting rock. No two rocks share the same position.
Output
* Line 1: A single integer that is the maximum of the shortest distance a cow has to jump after removing M rocks
Sample Input
Sample Output
二分答案,然后判断是否合法
注意英文题面中0和L也是两个石子,并且这两个石子不可移除
#include<stdio.h>#include<algorithm>using namespace std;int n, m, a[50010];int Jud(int x){int i, sum, temp;temp = 1, sum = 0;for(i=2;i<=n;i++){if(a[i]-a[temp]<x)sum++;elsetemp = i;}if(sum>m)return 0;return 1;}int main(void){int len, i, l, r, mid;scanf("%d%d%d", &len, &n, &m);a[1] = 0, a[n+2] = len;for(i=2;i<=n+1;i++)scanf("%d", &a[i]);n += 2;sort(a+1, a+n+1);l = 1, r = len;while(l<r){mid = (l+r+1)/2;if(Jud(mid))l = mid;elser = mid-1;}printf("%d\n", l);return 0;}
- bzoj 1650: [Usaco2006 Dec]River Hopscotch 跳石子(二分)
- |BZOJ 1650|二分|贪心|[Usaco2006 Dec]River Hopscotch 跳石子
- BZOJ 1650: [Usaco2006 Dec]River Hopscotch 跳石子
- 1650: [Usaco2006 Dec]River Hopscotch 跳石子 二分/答案判定
- 1650: [Usaco2006 Dec]River Hopscotch 跳石子
- bzoj1650 [Usaco2006 Dec]River Hopscotch 跳石子
- bzoj1650: [Usaco2006 Dec]River Hopscotch 跳石子
- bzoj1650: [Usaco2006 Dec]River Hopscotch 跳石子
- [BZOJ1650][Usaco2006 Dec]River Hopscotch 跳石子
- BZOJ1650: [Usaco2006 Dec]River Hopscotch 跳石子
- bzoj1650: [Usaco2006 Dec]River Hopscotch 跳石子 luogu【P2678】 跳石头 (二分)
- [bzoj1650][Usaco2006 Dec][二分]跳石子
- River Hopscotch(二分)
- usaco 2006 Dec【River Hopscotch跳石头】
- poj3258--River Hopscotch(二分)
- River Hopscotch(二分最大值)
- POJ3258 River Hopscotch(二分)
- POJ3528:River Hopscotch(二分)
- Android控件之ProgressBar
- Hive中常出现的错误(不定时更新)
- Androidstudio开发ARcore 步骤
- AndroidUI之控件宝典
- SSh框架 整合Axis2
- bzoj 1650: [Usaco2006 Dec]River Hopscotch 跳石子(二分)
- java基础之IO转换流--OutputStreamWriter(字符流通往字节流,可以指定字符编码的IO流对象)
- Hive日志默认存储在什么位置?
- Unable to read repository at https://dl.bintray.com/jetbrains/kotlin/eclipse-plugin/last/content.xml
- C#--继承的基本使用
- angular2/angular4 如何通过$http的post方法请求下载二进制的Excel文件
- eclipse创建和设置工作空间的常见操作
- Hive中如何创建内部表和外部表以及它们的区别
- Stanford机器学习课程笔记2-高斯判别分析与朴素贝叶斯