news 2026/1/12 1:27:32

GESP认证C++编程真题解析 | P10108 [GESP202312 六级] 闯关游戏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | P10108 [GESP202312 六级] 闯关游戏

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

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

适合人群:

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

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:[P10108 GESP202312 六级] 闯关游戏 - 洛谷

【题目描述】

你来到了一个闯关游戏。

这个游戏总共有N NN关,每关都有M MM个通道,你需要选择一个通道并通往后续关卡。其中,第i ii个通道可以让你前进a i a_iai关,也就是说,如果你现在在第x xx关,那么选择第i ii个通道后,你将直接来到第x + a i x+a_ix+ai关(特别地,如果x + a i ≥ N x + a_i \geq Nx+aiN,那么你就通关了)。此外,当你顺利离开第s ss关时,你还将获得b s b_sbs分。

游戏开始时,你在第0 00关。请问,你通关时最多能获得多少总分。

【输入】

第一行两个整数N NNM MM,分别表示关卡数量和每关的通道数量。

接下来一行M MM个用单个空格隔开的整数a 0 , a 1 ⋯ , a M − 1 a_0,a_1\cdots,a_{M-1}a0,a1,aM1。保证1 ≤ a i ≤ N 1\le a_i \le N1aiN

接下来一行N NN个用单个空格隔开的整数b 0 , b 1 ⋯ , b N − 1 b_0,b_1\cdots,b_{N-1}b0,b1,bN1。保证∣ b i ∣ ≤ 1 0 5 |b_i|\le 10^5bi105

【输出】

一行一个整数,表示你通关时最多能够获得的分数。

【输入样例】

6 2 2 3 1 0 30 100 30 30

【输出样例】

131

【算法标签】

《洛谷 P10108 闯关游戏》 #动态规划DP# #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=200005;// 最大数组长度intn,m;// n: 天数, m: 药材种类数intmaxn=-1;// 最大的生长天数inta[N],b[N];// a: 药材生长天数, b: 每天可种植的药材价值intdp[N];// dp[i]: 在第i天结束时的最大总价值intmain(){// 输入药材种类数和总天数cin>>m>>n;// 输入每种药材的生长天数for(inti=1;i<=m;i++){cin>>a[i];maxn=max(maxn,a[i]);// 记录最长的生长周期}// 输入每天可种植的药材价值for(inti=1;i<=n;i++){cin>>b[i];}// 初始化dp数组为极小值memset(dp,-0x3f,sizeof(dp));dp[1]=0;// 第1天开始时,总价值为0// 动态规划// 注意:这里循环到n+maxn,因为药材可能在n天后成熟for(inti=1;i<=n+maxn;i++){for(intj=1;j<=m;j++){// 如果i-a[j]天是有效的(≥1)if(i-a[j]>=1){// 状态转移:在第i-a[j]天种植,在第i天收获dp[i]=max(dp[i],dp[i-a[j]]+b[i-a[j]]);}}}// 调试输出// for (int i=1; i<=n+maxn; i++)// cout << dp[i] << " ";// cout << endl;// 寻找最大价值// 只需要考虑n天之后到n+maxn天之间的最大值intans=-1e9;for(inti=n+1;i<=n+maxn;i++){ans=max(ans,dp[i]);}// 输出结果cout<<ans<<endl;return0;}

【运行结果】

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

vxe-table 如何给分组表头下方的每一列增加一个筛选框

vxe-table 如何给分组表头下方的每一列增加一个筛选框 通过 floating-filter-config.enabled 来启用浮动筛选,再对指定列设置 floating-filters 来开启筛选渲染 https://vxetable.cn <template><div>显示图标按钮&#xff1a;<vxe-switch v-model"filterC…

作者头像 李华
网站建设 2026/1/11 10:07:22

建筑装饰企业如何运用数字化工具提升管理效能?

某综合性专业建筑装饰企业&#xff0c;规模300&#xff0c;深耕行业多年&#xff0c;参与多项大中型国家工程建设。传统办公模式已不适应企业发展&#xff0c;需要借助先进的数字化管理工具提升管理效能。一、项目背景该企业以建筑工程施工、装饰为主业。信息化建设起步较晚&am…

作者头像 李华
网站建设 2026/1/8 9:22:43

为什么顶尖文创团队都在用Open-AutoGLM?真相令人震惊

第一章&#xff1a;为什么顶尖文创团队都在用Open-AutoGLM&#xff1f;真相令人震惊创意生成效率的革命性突破 顶尖文创团队选择 Open-AutoGLM 的核心原因在于其对创意生产流程的彻底重构。该框架融合了大语言模型的语义理解能力与自动化任务调度机制&#xff0c;使从概念构思到…

作者头像 李华
网站建设 2026/1/11 6:38:48

Java 岗 798 道真题解析,定级阿里 P7

前言春招&#xff0c;秋招&#xff0c;社招&#xff0c;我们 Java 程序员的面试之路&#xff0c;是挺难的&#xff0c;过了 HR&#xff0c;还得被技术面&#xff0c;鄙人在去各个厂面试的时候&#xff0c;经常是通宵睡不着觉&#xff0c;头发都脱了一大把&#xff0c;还好最终侥…

作者头像 李华