题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=619
///
这道题好像是青蛙过河,我也没有翻译,因为之前做过一个这样的题,就是一条河有L宽,河中有n个石头,青蛙可以跳到石头上
这n个石头距离某个岸边的距离为a[i];然后青蛙过河最多跳M次,问青蛙最少需要一次跳多远的能力才能够过河;
解法就是贪心算法,加二分答案;当然好像不二分也能过;枚举也行;
先把a[i]从小到大排序,然后找到找到两个中间距离最远的距离maxlen即max(a[i]-a[i-1])(也可能为a[1]或L-a[n]);
然后从maxlen到L进行枚举;
代码如下:
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
int a[500050];
int maxlen;
int L;
int m,n;
int comp(const void *a,const void *b)
{return (*(int *)a)>(*(int *)b)?1:-1;
}
int fin(int mid)
{int i;int cont=0;int sum=0;for(i=0;i<=n;i++){if(a[i]>mid)return 0;sum+=a[i];if(sum>mid){sum=a[i];cont++;}}cont++;if(cont<=m)return 1;elsereturn 0;
}
void execute()
{int i,j;for(i=0;i<n;i++)scanf("%d",&a[i]);qsort(a,n,sizeof(a[0]),comp);maxlen=0;a[n]=L-a[n-1];if(maxlen<a[n])maxlen=a[n];for(i=n-1;i>=1;--i){a[i]=a[i]-a[i-1];if(maxlen<a[i])maxlen=a[i];}if(maxlen<a[0])maxlen=a[0];int t=L;int p=maxlen;int mid;while(p<=t){mid=(p+t)/2;if(fin(mid))t=mid-1;elsep=mid+1;}printf("%d\n",t+1);}
int main()
{while(scanf("%d%d%d",&L,&n,&m)!=EOF)execute();return 0;
}

nyoj 691 青蛙过河相关推荐

  1. java 独木桥_趣味算法——青蛙过河(JAVA)

    青蛙过河是一个非常有趣的智力游戏,其大意如下: 一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3只青蛙,这些青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动.在移动过程中,青蛙可以向 ...

  2. 两个各四只青蛙过河java_趣味算法——青蛙过河(JAVA)

    /*** 青蛙过河 *@authorrubekid **/ public classRiverFrog {public static final int LEFT_FROG = -1;public s ...

  3. nyoj-619 青蛙过河

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=619 题目大意:就是有一条宽为L的河,河上有n个石头,每个石头与河对岸的距离为a[i],然 ...

  4. P1244 青蛙过河

    P1244 青蛙过河 题目描述 有一条河,左边一个石墩(A区)上有编号为1,2,3,4,-,n的n只青蛙,河中有k个荷叶(C区),还有h个石墩(D区),右边有一个石墩(B区),如下图所示.n只青蛙要过 ...

  5. 青蛙过河 猴子爬山 兔子繁殖 开宝箱2 找气球 指针函数 铺地砖

    Problem A: 青蛙过河 Description 一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,面积只容得下一只青蛙落脚,同样右岸也有一石柱R,面积也只容得下一只青蛙落脚.有一队青 ...

  6. 2022-01-19:青蛙过河。 一只青蛙想要过河。 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。 青蛙可以跳上石子,但是不可以跳入水中。 给你石子的位置列

    2022-01-19:青蛙过河. 一只青蛙想要过河. 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有). 青蛙可以跳上石子,但是不可以跳入水中. 给你石子的位置列 ...

  7. html5青蛙过河,[推荐]===PS4上的本地多人游戏推荐心得===家庭聚会,欢乐时光 (持续更新)...

    本帖最后由 everyer 于 2018-11-25 22:22 编辑 更新: =============经典派对小游戏合集============= Arcade Islands: Volume O ...

  8. 1220 -- 青蛙过河

    青蛙过河 Time Limit:1000MS  Memory Limit:65536K Total Submit:120 Accepted:27 Description 一群青蛙在河边,他们想过河.可 ...

  9. 两个各四只青蛙过河java_Java实现 LeetCode 403 青蛙过河

    403. 青蛙过河 一只青蛙想要过河. 假定河流被等分为 x 个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有). 青蛙可以跳上石头,但是不可以跳入水中. 给定石子的位置列表(用单元格序 ...

最新文章

  1. lab_2 Selenium
  2. 【 Notes 】COMPARISON OF BASIC METHODS AND POSITIONING SYSTEMS
  3. Java 时期格式 星期显示英文
  4. Shell脚本攻略01-简介/终端打印
  5. 管道和过滤器模式----POSA模式助记格式
  6. C语言 记录程序运行时间(以秒为单位)
  7. python基础内容_python基础-python介绍
  8. iOS11新增版本判断API
  9. 深度学习目标检测系列:一文弄懂YOLO算法|附Python源码
  10. 使用LBP+SVM,训练识别给定的测试图像
  11. 项目运行报错java.sql.SQLSyntaxErrorException: Table ‘sell.hibernate_sequence‘ doesn‘t exist
  12. 决策引擎中的Hunter类策略又是什么?
  13. PaddleClas模型训练/评估:数据准备
  14. NLP高阶实战必读:一文走遍完整自然语言处理流程 文章
  15. MySQL语法一:数据定义语句
  16. 2022年广东省安全员A证第三批(主要负责人)考试试题及答案
  17. 技巧|在苹果Mac上打开“终端”的3种方法
  18. 12 款超实用的 Win10 UWP 应用分享
  19. 星星之火-11:什么是无线资源以及无线资源管理RRM?
  20. 2016年11月份各省市报考时间与报名链接 软考 系统集成项目管理工程师

热门文章

  1. dom node and html element,DOM parentNode和parentElement之间的区别
  2. 中国天麻产业发展调研与投资前景报告(2023版)
  3. python安装库常用命令
  4. VLAN实验——华为
  5. 利用前端js获取ip地址
  6. 通过JS控制页面不跟随系统文本、应用比例缩放
  7. 【Linux】CentOS系统网络配置—动态、静态配置及vim编辑器的3种工作模式
  8. Python 全栈 400 之画图练习
  9. TM域名与商标域名有什么不同
  10. Tomcat中的filter调用doFilter的问题