news 2026/6/11 8:11:34

历年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/6/10 18:22:44

VibeVoice-WEB-UI是否支持字体缩放?界面可读性优化

VibeVoice-WEB-UI 的界面可读性挑战与优化路径 在播客制作、有声书生成和虚拟角色对话日益普及的今天&#xff0c;长时多说话人语音合成已不再是实验室里的概念&#xff0c;而是内容创作者手中的实用工具。VibeVoice 正是这一趋势下的代表性项目——它不仅能生成长达90分钟、支…

作者头像 李华
网站建设 2026/6/4 0:19:04

如何为不同角色分配音色?VibeVoice角色配置技巧

如何为不同角色分配音色&#xff1f;VibeVoice角色配置技巧 在播客、有声书和虚拟访谈日益普及的今天&#xff0c;听众早已不再满足于机械朗读式的语音合成。他们期待的是自然流畅、富有情感张力的真实对话体验——就像两位老友围炉夜话&#xff0c;或主持人与嘉宾之间你来我往…

作者头像 李华
网站建设 2026/6/10 16:19:28

AndroidGen:AI自主操控安卓应用的免费新工具

AndroidGen&#xff1a;AI自主操控安卓应用的免费新工具 【免费下载链接】androidgen-glm-4-9b 项目地址: https://ai.gitcode.com/zai-org/androidgen-glm-4-9b 导语&#xff1a;智谱AI推出开源工具AndroidGen&#xff0c;基于GLM-4-9B大模型实现AI自主操控安卓应用&a…

作者头像 李华
网站建设 2026/6/10 12:48:29

电商系统Redis管理实战:从下载到应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个电商平台Redis管理模块&#xff0c;专门处理商品缓存、用户会话和秒杀活动数据。要求实现自动缓存预热、热点数据标识、过期策略管理等功能。前端展示缓存命中率、内存使用…

作者头像 李华
网站建设 2026/5/30 18:41:33

对比测评:传统下载VS智能获取华为ENSP的全流程效率

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个ENSP效率对比工具&#xff0c;需实现&#xff1a;1) 传统下载路径的步骤记录与耗时统计 2) 智能方案的自动化流程演示 3) 系统兼容性自动检测 4) 安装成功率对比统计 5) 生…

作者头像 李华
网站建设 2026/6/10 3:38:08

IBM Granite-4.0:23万亿token的多语言代码生成模型

IBM Granite-4.0&#xff1a;23万亿token的多语言代码生成模型 【免费下载链接】granite-4.0-h-small-base 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/granite-4.0-h-small-base 导语 IBM正式发布 Granite-4.0系列大语言模型&#xff0c;其中H-Small-Base…

作者头像 李华