2018年第九届蓝桥杯B组第四题:摔手机题解
摔手机
于是拿出来补补吧
摔手机题目如下:
星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。
各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。
x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。
如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。
特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。
如果到了塔的最高层第n层扔没摔坏,则耐摔指数=n
为了减少测试次数,从每个厂家抽样3部手机参加测试。
某次测试的塔高为1000层,如果我们总是采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?
请填写这个最多测试次数。
之前做题目时比较天真 觉得 二分 摔手机最优啦 ╮( ̄▽ ̄")╭ ╮( ̄▽ ̄")╭ 菜鸡的天真
对于这个题目 我们也可以设计一个状态 dp[i][j] i代表手机的数目 j代表层数 dp[i][j]为i个手机j层最佳的策略 最糟糕的次数
下面就是要去求 dp[i][j]是多少啦
假如这里有j层 那么我们可以选择一层 第k层 把手机摔下去 当然 0<k<j
那么我们丢下去就有2种可能 一种是摔坏了 一种是没有摔坏
摔坏了 那么我们就要从 这1到k-1层中去找 那么我们从第k层摔下去 摔坏了后 所需要的摔手机的次数 就是 dp[i-1][k-1]+1
如果没有摔坏 我们就要从k+1到j这 j-k层中去找 那么我们从第k层摔下去 没有摔坏后 所需要的摔手机的次数 就是 dp[i1][j-k]+1
因为是最糟糕的情况 所以我们要这两种情况的最大值
但是k层能有好多种选择 把k遍历一遍 这这么一堆情况的最小值 那个最小值就是 dp[i][j] 即为 我们i个手机从第j层丢下去 测试那层摔坏的最优策略的最糟糕的次数
感觉比较绕绕的
可以使用递推推出来 在递推之前还要预处理一下 即1个手机 测试多少层 那么次数就多少层
一共1层 无论多少个手机 都是测试一次
一共0层 无论多少个手机 都是测试零次
代码如下
int dp[51][1001];
memset(dp,0x3f,sizeof(dp));
for(int j=2;j<51;j++)
下面要几个手机几层楼 至少需要次数多少次 就好像一个表一样 直接查询就可以了
转载于:https://www.cnblogs.com/DWVictor/p/10283212.html
2018年第九届蓝桥杯B组第四题:摔手机题解相关推荐
- 2018年第九届蓝桥杯 JavaB组省赛 刷题思路及答案
前言 本人是二本院校大二的计算机系学生,已经报名了下一届的蓝桥杯省赛,整个寒假学习了很多算法知识,我是看<算法很美>这个课程学习算法的,一套学习下来确实受益匪浅,视频在b站上面都有. 此前 ...
- 2018年第九届蓝桥杯A组省赛
A.分数(5分) 答案:1048575/524288 试题 A: 分数 本题总分:5 分 [问题描述] 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有 ...
- 2018年第九届蓝桥杯B组 国赛
一.换零钞 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. X 星球的钞票的面额只有:100 元,5 元,2 元,1 元,共 4 种. 小明去 X 星旅游,他手里只 ...
- 用excel解蓝桥杯(2018年第九届蓝桥杯A组)
第一题 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + -. 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前 ...
- 第九届蓝桥杯JavaA组(2018年)省赛真题解析
第九届蓝桥杯JavaA组(2018年)省赛真题解析 1.分数 1/1+1/2+1/4+1/8+1/16+- 每项是前一项的一半,如果一共有20项,求这个和是多少 结果用分数表示,类似: 3/2,当然这 ...
- 7.python解答2018年第九届蓝桥杯省赛C++A组 分数
7.python解答2018年第九届蓝桥杯省赛C++A组 分数 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项,求这个和是多少,结果 ...
- 2018第九届蓝桥杯JavaB组省赛真题及详解
2018第九届蓝桥杯JavaB组省赛真题及详解 第一题:第几天 第二题:方格计数 第三题:复数幂 第四题:测试次数 第五题:快速排序 第六题:递增三元组 第七题:螺旋折线 第八题:日志统计 第九题:全 ...
- 第jiu届蓝桥杯单片机省赛真题_第九届蓝桥杯单片机组省赛试题.pdf
第九届蓝桥杯单片机组省赛试题 "彩灯控制器"的程序设计与调试 (70 分) 一.基本要求 1.1 使用CT107D 单片机竞赛板,完成"彩灯控制器"功能的程序设 ...
- 关于2018年第九届蓝桥杯省赛(江苏赛区)
为啥到现在才写呢...就是懒,是真的懒.题也没刷几个 (下面题目的超链接转自这里,并不是本人解法..只是因为有题目还有题解) 4.1举行的蓝桥杯也可以说是"愚人杯"了 早早的跟同学 ...
最新文章
- python里面的之前打过的记忆信息-python中的记忆:如何缓存函数的运行结果(1)
- C# 系统应用之透明罩MyOpaqueLayer实现360界面阴影效果
- 龘(若出身在新中国我的65047777
- 7 QM配置-质量计划配置-定义检验方法的编号范围
- 任务记录:OEA 框架中的多类型树控件
- vue.js+webpack 为 img src 赋值的路径问题解决方法
- 2021-05-19 C语言逻辑取反! 学习
- oracle sde 千万数据,Oracle+sde数据备份恢复(转自GIS帝国论坛)
- 苹果ppt_如何下载小程序上的PPT与PDF? (苹果系统、安卓系统)
- 核方法也称为核技巧(Kernel method)
- 收藏有关信号处理的博客
- openg 通用扫描画线算法
- 在运维日常工作过程中遇到的一些问题,以及最终的解决方法!!(持续更新帖)
- 写给理工科人看的乐理(一)声学基础
- Hyperledger Fabric 2.x 环境搭建
- 学python入门基础教程[推荐]
- signature=f14550b5daa7cd82f0637de3dae7c98d,来用百度密语吧!!!
- 无线技术给网络插上飞翔的翅膀(转)
- 音视频测试的基础概念
- Mysql之IN 和 Exists 用法
热门文章
- 高通核心板,高通骁龙410系列 MSM8916
- 【数学分析入门】R语言独立性检验方法
- 姜小白的Python日记Day6 集合的用法
- 关于站内信的开发思路
- Spring_背诵英文单词
- 安徽师范大学计算机学院在哪个校区,2021年安徽师范大学有几个校区,大一新生在哪个校区...
- Java古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
- Verilog实现之任意分频电路
- GSM Hacking:如何对GSM/GPRS网络测试进行测试
- 解析android多语言与自定义字体