【C++算法入门】动态规划—调手表问题
距离蓝桥杯还有32天。昨天在蓝桥杯官网刷到一个较为简单的动态规划入门题发现此前已经做过了而当时只通过了一半的测验数据。昨天重写了这个题目改变了一下思路竟全部通过了。一、原题复现M78星云的手表• 一圈有 n 分钟0~n-1• 两个按钮1和k1. 1当前数字 1超过 n 就回到 02. k当前数字 k超过n就回到0问从 0 出发调到 每一个数字 最少要按多少次这些最少次数里 最大的那个 是多少二、思路分析记得这是我刚刷题没多久写的代码显然虽然能成功编译但求min的函数出现了思路的问题且想法单一对一小时内的分钟进行循环每个循环求出能调到当前分钟的最优解。如果在竞赛场上没有其他思路我们确实可以考虑单一或者题目所举样例的情况尽可能保证拿分。现在我们来分析这道题既然从时间出发较为复杂我们不妨从次数入手来不断优化到每个时间的次数。比如n5k3。dp[0]我们赋值为0那么dp[1]1,dp[3]1继续dp[2]2,dp[4]2dp[4]2,dp[1]2。此时我们可以发现到时间1的路径有两条及01和033。这里就体现了优化的过程用一个公式表达就是1(33)%5;dp[1]min(dp[1],dp[3]1)。想到这里思路是否就明了了呢但是大家想来可能会和我一开始一样不知道要循环几次n好像不行接下来我便在代码中融入我的思考。下面我就用代码对它进行实现代码中也包含了我的注解。各位可以适当参考一下。我们可以用上面举过的例子对其进行过程分析n5k3。dp[0]0第一轮的情况dp[1]1,dp[3]1,将其都进队;第二轮以dp[1]作为基准值dp[2]2,dp[4]2,将其都进队;第三轮以dp[3]作为基准值dp[4]2,dp[1]2。此时可以看到我们得到的dp[1]1,小于我们原来得到的dp[1]故其不进队dp[4]同理。我们利用队列的本质便是用队里的元素去更新外界元素找到最小值试想如果将dp[1]赋值给2并进队那么接下来得到的路径是不是要比dp[1]1时都要大所以不能进队。所以也很容易想到当队列为空所有路径都走完了且找不到更加小的值了达到了优化的目标。以上是我关于蓝桥杯中调手表问题的所有思考了欢迎讨论。

相关新闻

蓄电池与超级电容混合储能系统的功率分配与能量管理Simulink仿真研究

蓄电池与超级电容混合储能系统的功率分配与能量管理Simulink仿真研究

蓄电池与超级电容混合储能并网matlab/simulink仿真模型。 (1)混合储能采用低通滤波器进行功率分配,可有效抑制功率波动,并对超级电容的soc进行能量管理,soc较高时多放电,较低时少放电,soc较低时…

2026/7/2 19:17:08 阅读更多 →
编的是C++程序,用的却是Python turtle的命令!青少年学C++精灵库可以用于做什么?

编的是C++程序,用的却是Python turtle的命令!青少年学C++精灵库可以用于做什么?

一、传统方向(牛娃必备):用于打信奥......。 二、新的方向(普娃宝典):创造与探索,从兴趣走向专业。 绘图启蒙,跨界融合 编的是C程序,用的却是Python turtle的命令&#…

2026/7/4 1:03:43 阅读更多 →
win10右键用**软件打开(用vsccode打开文件夹)怎么做

win10右键用**软件打开(用vsccode打开文件夹)怎么做

1.winr输入regedit回车2.找到目录“计算机\HKEY_CLASSES_ROOT\Directory\shell”3.新建一个项命名为“open with ***”(你要打开的软件)3.在这个目录下新建一个项命名为“command”4.修改“默认”值为"要打开的软件地址"空格"%V"我的…

2026/5/17 11:58:32 阅读更多 →

最新新闻

E-Hentai Downloader技术解析:深入理解GM_xmlhttpRequest跨域请求机制

E-Hentai Downloader技术解析:深入理解GM_xmlhttpRequest跨域请求机制

E-Hentai Downloader技术解析:深入理解GM_xmlhttpRequest跨域请求机制 E-Hentai Downloader作为一款高效的漫画下载工具,其核心功能依赖于GM_xmlhttpRequest实现跨域请求。本文将从技术原理、实现方式和优化策略三个维度,全面解析这一关键机…

2026/7/4 8:09:14 阅读更多 →
CANN/cannbot-skills CSV公共字段与约定

CANN/cannbot-skills CSV公共字段与约定

CSV 公共字段与约定 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills 公共字段定义(9 个,所有模…

2026/7/4 8:09:14 阅读更多 →
Obsidian-zola与Netlify集成:自动化部署的最佳实践

Obsidian-zola与Netlify集成:自动化部署的最佳实践

Obsidian-zola与Netlify集成:自动化部署的最佳实践 【免费下载链接】obsidian-zola A no-brainer solution to turning your Obsidian PKM into a Zola site. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-zola Obsidian-zola是一个将Obsidian个人…

2026/7/4 8:07:14 阅读更多 →
5分钟掌握CSS变体管理神器:CVA终极指南

5分钟掌握CSS变体管理神器:CVA终极指南

5分钟掌握CSS变体管理神器:CVA终极指南 【免费下载链接】cva Class Variance Authority 项目地址: https://gitcode.com/gh_mirrors/cv/cva 你是否曾为UI组件的CSS类名管理而头疼?😫 面对不同尺寸、颜色、状态的按钮变体,手…

2026/7/4 8:05:14 阅读更多 →
wiliwili:专为手柄用户打造的跨平台B站客户端完全指南

wiliwili:专为手柄用户打造的跨平台B站客户端完全指南

wiliwili:专为手柄用户打造的跨平台B站客户端完全指南 【免费下载链接】wiliwili 第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili 你是否厌倦了在…

2026/7/4 8:05:14 阅读更多 →
豆包与元宝深度对比:AI工具背后的生态能力拆解

豆包与元宝深度对比:AI工具背后的生态能力拆解

1. 这不是“选APP”,而是一场生态级能力的现场拆解你刷到这条内容时,大概率正躺在沙发上,左手握着手机,右手刚点开豆包准备扒拉一段抖音口播文案;或者刚在视频号看完一篇深度长文,顺手把链接甩进元宝&#…

2026/7/4 8:05:14 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻