news 2026/2/14 1:32:21

历年CSP-X复赛真题解析 | B4089 [CSP-X2020 山东] 勇敢的津津

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
历年CSP-X复赛真题解析 | B4089 [CSP-X2020 山东] 勇敢的津津

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:历年CSP-X复赛真题解析 | 汇总


【题目来源】

洛谷:[B4089 CSP-X2020 山东] 勇敢的津津 - 洛谷

【题目描述】

津津是个勇敢的孩子,总是做一些挑战自己的事情。一天津津来到一条宽为L LL米的小河边,河道的一边到另一边需要途径N NN块较大的石墩,每块石墩到这一边岸边之间距离d i d_idi米(石墩不占距离,只考虑石墩的中间点到这一边岸边之间距离)。津津想踩着这些石墩从小河的这一边跳到另一边(不落入水中),一次可以跳过几块石墩。已知津津每次最多跳M MM米的距离,那么津津最少跳几次就能从这一边跳到另一边?

【输入】

第一行包含三个整数L , N , M L,N,ML,N,M,分别小河的宽度、石墩数和津津跳的最远距离。

接下来N NN行,每行一个整数,第i ii行的整数d i ( 0 < d i < L ) d_i(0\lt d_i \lt L)di(0<di<L),表示第i ii块石墩与这一边岸边的距离,保证石墩之间的距离和最靠边的石墩到这一边岸边的距离小于等于M MM。这些石墩按与起点距离从小到大的顺序给出,且不会有两个石墩出现在同一个位置。

【输出】

一个整数,即最少的跳跃次数。

【输入样例】

10 4 2 2 4 6 8

【输出样例】

5

【算法标签】

《洛谷 B4089 勇敢的津津》 #动态规划DP# #贪心# #CSP-X小学组# #2020# #山东#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=505;// 定义常量N,最大数组大小intL,m,n;// L: 跳跃长度上限, m: 最小跳跃距离, n: 石头数量inta[N],dp[N];// a: 存储石头位置, dp: 动态规划数组intmain(){cin>>L>>n>>m;// 输入跳跃长度上限、石头数量和最小跳跃距离for(inti=1;i<=n;i++)// 输入n个石头的位置cin>>a[i];a[n+1]=L;// 在终点位置添加一个虚拟石头sort(a+1,a+n+1);// 对石头位置进行排序memset(dp,0x3f,sizeof(dp));// 初始化dp数组为最大值dp[0]=0;// 起点位置(0位置)需要0次跳跃// 动态规划:计算到达每个石头的最少跳跃次数for(inti=1;i<=n+1;i++)// 遍历每个石头(包含终点)for(intj=0;j<i;j++)// 尝试从之前的石头j跳到石头i{if(a[i]-a[j]<=m)// 如果从石头j到石头i的距离不超过mdp[i]=min(dp[i],dp[j]+1);// 更新到达石头i的最少跳跃次数}// 调试用:输出每个石头的dp值// for (int i = 1; i <= n + 1; i++)// cout << dp[i] << " ";// cout << endl;cout<<dp[n+1]<<endl;// 输出到达终点的最少跳跃次数return0;}

【运行结果】

10 4 2 2 4 6 8 5
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/13 12:44:44

用LANGGRAPH快速验证图算法创意的5种方法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个图算法沙盒环境&#xff0c;允许用户快速测试各种图算法创意。支持上传自定义数据集或使用内置数据集&#xff0c;提供常见的图算法模板&#xff08;如PageRank、社区发现…

作者头像 李华
网站建设 2026/2/9 19:35:25

VibeVoice-WEB-UI是否提供音频预览功能?即时试听体验

VibeVoice-WEB-UI 是否支持音频预览&#xff1f;揭秘其背后的即时试听机制 在播客制作人反复调试角色语气的深夜&#xff0c;在教育开发者为课程对话脚本纠结音色搭配的清晨——一个简单却关键的问题浮现&#xff1a;能不能先听一小段看看效果&#xff1f; 这正是“音频预览”功…

作者头像 李华
网站建设 2026/2/13 12:40:40

SystemVerilog测试平台组件详解:深度剖析原理

SystemVerilog测试平台组件详解&#xff1a;从“会写”到“懂设计”的跃迁之路你是否也曾在初学SystemVerilog时&#xff0c;翻遍各种“systemverilog菜鸟教程”&#xff0c;却依然搞不清为什么别人写的测试平台结构清晰、模块分明&#xff0c;而自己写的代码总是信号满天飞、连…

作者头像 李华
网站建设 2026/2/8 17:53:23

基于LLM的对话级语音合成系统VibeVoice到底有多强?

基于LLM的对话级语音合成系统VibeVoice到底有多强&#xff1f; 在播客制作人熬夜剪辑多轨录音、有声书团队反复调试角色音色的今天&#xff0c;一个能“听懂对话”的AI语音系统正悄然改变内容生产的底层逻辑。微软推出的 VibeVoice-WEB-UI 并非又一款文本朗读工具&#xff0c;而…

作者头像 李华
网站建设 2026/2/11 2:17:00

VibeVoice-WEB-UI能否用于商业用途?授权协议全面解读

VibeVoice-WEB-UI能否用于商业用途&#xff1f;授权协议全面解读 在播客制作、有声书生成和AI虚拟角色对话日益普及的今天&#xff0c;一个关键问题浮出水面&#xff1a;我们能否真正“自由”地使用那些看起来开源、免费的语音合成工具进行商业化内容生产&#xff1f;尤其是像 …

作者头像 李华
网站建设 2026/2/12 6:05:07

为什么越来越多创作者选择VibeVoice进行内容配音?

为什么越来越多创作者选择VibeVoice进行内容配音&#xff1f; 在播客制作人凌晨三点反复调试录音电平的时候&#xff0c;在有声书团队为两位角色对话的语气衔接焦头烂额时&#xff0c;在虚拟主播项目因配音成本过高而被迫延期的会议室里——一个共同的问题正在浮现&#xff1a;…

作者头像 李华