标题:调手表

小明买了块高端大气上档次的电子手表,他正准备调时间呢。
在 M78 星云,时间的计量单位和地球上不同,M78 星云的一个小时有 n 分钟。
大家都知道,手表只有一个按钮可以把当前的数加一。在调分钟的时候,如果当前显示的数是 0 ,那么按一下按钮就会变成 1,再按一次变成 2 。如果当前的数是 n - 1,按一次后会变成 0 。
作为强迫症患者,小明一定要把手表的时间调对。如果手表上的时间比当前时间多1,则要按 n - 1 次加一按钮才能调回正确时间。
小明想,如果手表可以再添加一个按钮,表示把当前的数加 k 该多好啊⋯⋯
他想知道,如果有了这个 +k 按钮,按照最优策略按键,从任意一个分钟数调到另外任意一个分钟数最多要按多少次。
注意,按 +k 按钮时,如果加k后数字超过n-1,则会对n取模。
比如,n=10, k=6 的时候,假设当前时间是0,连按2次 +k 按钮,则调为2。

「输入格式」
一行两个整数 n, k ,意义如题。

「输出格式」
一行一个整数
表示:按照最优策略按键,从一个时间调到另一个时间最多要按多少次。

「样例输入」
5 3

「样例输出」
2

「样例解释」
如果时间正确则按0次。否则要按的次数和操作系列之间的关系如下:
1:+1
2:+1, +1
3:+3
4:+3, +1

「数据范围」
对于 30% 的数据 0 < k < n <= 5
对于 60% 的数据 0 < k < n <= 100
对于 100% 的数据 0 < k < n <= 100000

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

注意:
main函数需要返回0;
只使用ANSI C/ANSI C++ 标准;
不要调用依赖于编译环境或操作系统的特殊函数。
所有依赖的函数必须明确地在源文件中 #include
不能通过工程设置而省略常用头文件。

提交程序时,注意选择所期望的语言类型和编译器类型。

dp

现在做这道题感觉可以用dp来做,时间复杂度O(n)级别的,应该可以过的。

#include <iostream>
using namespace std;
int dp[100005]; // dp[i]表示第i分钟需要按的最少次数
int main(){int n,k;cin >> n >> k;dp[0] = 0;int ans = 0;for(int i = 1;i < n;i++){if(i % k == 0)dp[i] = dp[i - k] + 1;elsedp[i] = dp[i - 1] + 1;ans = max(ans,dp[i]);}cout << ans << endl;return 0;
}

2018第九届蓝桥杯B组决赛题解第四题 调手表(简单的dp)相关推荐

  1. 2018第九届蓝桥杯B组决赛题解第六题 矩阵求和

    标题:矩阵求和 经过重重笔试面试的考验,小明成功进入 Macrohard 公司工作. 今天小明的任务是填满这么一张表: 表有 n 行 n 列,行和列的编号都从1算起. 其中第 i 行第 j 个元素的值 ...

  2. 2018第九届蓝桥杯B组决赛题解第一题 换零钞

    标题:换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. 小明有点强迫症,他坚持要求200元换 ...

  3. 2018第九届蓝桥杯B组决赛-搭积木

    标题:搭积木 小明对搭积木非常感兴趣.他的积木都是同样大小的正立方体. 在搭积木时,小明选取 m 块积木作为地基,将他们在桌子上一字排开,中间不留空隙,并称其为第0层. 随后,小明可以在上面摆放第1层 ...

  4. 2018第九届蓝桥杯JavaB组省赛真题及详解

    2018第九届蓝桥杯JavaB组省赛真题及详解 第一题:第几天 第二题:方格计数 第三题:复数幂 第四题:测试次数 第五题:快速排序 第六题:递增三元组 第七题:螺旋折线 第八题:日志统计 第九题:全 ...

  5. 2019第十届蓝桥杯A组决赛(国赛)A题(三升序列)

    2019第十届蓝桥杯A组决赛(国赛)A题(三升序列) 输入: VLPWJVVNNZSWFGHSFRBCOIJTPYNEURPIGKQGPSXUGNELGRVZAG SDLLOVGRTWEYZKKXNK ...

  6. 2018第九届蓝桥杯JavaA组省赛真题详解

    目录 第一题:分数 第二题:星期一 第三题:复数幂 第四题:方格计数 第五题:打印图形 第六题:航班时间 第七题:三体攻击 第八题:全球变暖 第九题:倍数问题 第十题:付账问题 题解待更新 第一题:分 ...

  7. 2018 第九届 蓝桥杯 JavaB组 摔手机(动态规划解决)

    x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机. 各大厂商也就纷纷推出各种耐摔型手机.x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来, 之后才允许上市流通. ...

  8. 2018年第九届蓝桥杯 JavaB组省赛 刷题思路及答案

    前言 本人是二本院校大二的计算机系学生,已经报名了下一届的蓝桥杯省赛,整个寒假学习了很多算法知识,我是看<算法很美>这个课程学习算法的,一套学习下来确实受益匪浅,视频在b站上面都有. 此前 ...

  9. 2018第九届蓝桥杯大赛软件类B组C/C++省赛题解

    2018第九届蓝桥杯大赛软件类B组C/C++省赛目录 试题 A:第几天(结果填空) 试题 B:明码(结果填空) 试题 C:乘积尾0(结果填空) 试题 D:测试次数(结果填空) 试题 E:快速排序(结果 ...

  10. 第九届蓝桥杯JavaA组(2018年)省赛真题解析

    第九届蓝桥杯JavaA组(2018年)省赛真题解析 1.分数 1/1+1/2+1/4+1/8+1/16+- 每项是前一项的一半,如果一共有20项,求这个和是多少 结果用分数表示,类似: 3/2,当然这 ...

最新文章

  1. nginx环境的搭建
  2. Guava 中的 Stopwatch 是个什么鬼?
  3. 【转】G40-70、G50-70联想小新笔记本SR1000随机Linux改Windows 7系统操作指导
  4. python【蓝桥杯vip练习题库】ADV-350珠心算测验
  5. pandas笔记:根据列索引名称/行索引名称 对列重新排序
  6. 腾讯AI Lab推进医疗全流程覆盖:辅诊导诊精度再升级、布局三类病理AI研究
  7. sklearn自学指南(part8)--普通最小二乘法
  8. java反射机制详解_JAVA反射机制详解_JSP/Java编程_互联网开发技术网_传播最新的编程技术_php361.com...
  9. Volatile原子性一致性JVM指令重排
  10. MRTG在Windows平台的安装及使用
  11. Linux检查依赖库,linux 查看依赖库
  12. python pyqt5 线程 暂停 重启_如何在PyQT5中暂停/播放线程?
  13. 好的架构不是设计出来的,而是演进出来的
  14. 数字电视厂商及解决方案全景大扫描
  15. 使用百度地图时,经纬度坐标正确,但位置只显示北京
  16. 计算机网络有那些参考文献,计算机网络参考文献
  17. FeignClient方式调用第三方接口
  18. expdp —— XDB SGA initialization
  19. 100-days: twenty-five
  20. 业界红包玩法与技术方案总结

热门文章

  1. 3.21 Refused Bequest 被拒绝的馈赠
  2. 3W字,Docker 从入门到精通
  3. Chang-Xiao Li Machine Learning 2019 Task10
  4. 13. Zigbee应用程序框架开发指南 - 多网络支持
  5. PHP做一个直角三角形,三角形角度(直角三角形懒人计算器)
  6. 在计算机网络拓扑结构中目前最常用的是,常用的计算机网络拓扑结构.docx
  7. 计算机网络的三个基本拓扑结构类型,计算机网络拓扑结构的分类
  8. FreeType字体程序库介绍
  9. 测试模板:Showcase规范和流程
  10. maven打包报错failed: Unable to find a single main class from the following candidates []