news 2026/6/11 6:28:38

GESP2026年3月认证C++六级真题与解析(编程题1 选数)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP2026年3月认证C++六级真题与解析(编程题1 选数)



这道题真正考的是:

动态规划(DP)


而且是非常经典的:

线性DP + 跳跃转移


一、题目讲了什么?

1、题目给了两个数组:

a[] b[]

2、例如样例:

a: 1 2 3 4 b: 3 3 1 1

3、题目允许我们选择一些位置。

(1)假如选了位置 i:

获得:

a[i]

分数。


(2)但是代价是:

会跳过后面若干位置。


(3)跳过多少?

由:

b[i]

决定。


二、故事理解

1、想象有一条糖果街。

位置: 1 2 3 4 糖果: 1 2 3 4

2、每个位置还有一个魔法数字:

3 3 1 1

3、如果你站在第1格:

糖果=1 跳跃=3

拿走糖果后:

获得1分

然后必须跳到:

1+3=4

位置。


4、如果站在第2格:

获得2分

然后跳到:

2+3=5

超出范围。


5、目标:

获得最多糖果

三、DP状态定义

1、定义:

f[i]

表示:

到达位置 i 时,之前已经获得的最大分数。


2、比如:

f[4]=10

意思:

来到4号位置前 已经赚了10分

3、注意:

还没拿4号位置的糖果。


四、两种选择

来到 i。

有两种情况。


选择1:拿糖果

获得:

a[i]

分。


然后跳到:

i+b[i]

位置。

于是:

f[i+b[i]] = max( f[i+b[i]], f[i]+a[i] )

意思:

把当前糖果拿走 然后跳过去

选择2:不拿糖果

直接走到下一格。

f[i+1] = max( f[i+1], f[i] )

意思:

这格不要 继续往前

五、手算样例

1、样例:

4 a: 1 2 3 4 b: 3 3 1 1

2、初始:

f: 0 0 0 0

(1)i=1

拿:

得1分

跳:

1+3=4

所以:

f[4]=1

不拿:

f[2]=0

现在:

f: 0 0 0 1

(2)i=2

拿:

2+3=5

越界。

不能。


不拿:

f[3]=0

(3)i=3

拿:

得3分

跳:

3+1=4

于是:

f[4] =max(1,3) =3

(4)i=4

已有:

f[4]=3

拿:

3+4 = 7

(5)答案:

7

六、为什么不是贪心

很多同学会想:

每次选最大的糖果

例如:

10 1 1 100

可能:

拿10

后面就跳飞了。

失去:

100

因此:

局部最优

全局最优


所以必须DP。


七、参考代码

官方代码:

#include <cstdio> #include <algorithm> using namespace std; const int N = 100005; int n; int a[N]; int b[N]; long long f[N]; long long ans; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++) scanf("%d",&b[i]); for(int i=1;i<=n;i++) { ans=max(ans,f[i]+a[i]); // 选当前位置 if(i+b[i]<=n) { f[i+b[i]] = max( f[i+b[i]], f[i]+a[i] ); } // 不选当前位置 f[i+1] = max( f[i+1], f[i] ); } printf("%lld\n",ans); return 0; }

八、本题考点

1、本题经典模型:

走到位置 i ↓ 做决策 ↓ 跳到新位置 ↓ 继续DP

2、结构:

dp[下一状态] = max( dp[下一状态], dp[当前状态]+收益 );

九、记忆口诀

1、看到:

一条线 从左到右 每个位置有收益 选择后跳到新位置 求最大收益

2、立刻想到:

线性DP 状态转移

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

C++轻量级代码生成工具源码,含词法分析器与抽象语法树构建模块

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;一套面向嵌入式场景和DSL后端开发的C代码生成工具源码&#xff0c;不依赖大型编译框架&#xff0c;专注静态结构解析与目标代码输出。核心组件包括lambda表达式处理&#xff08;lambda.cpp&#xff09;、可配置…

作者头像 李华
网站建设 2026/6/11 6:26:53

073、边缘增强与锐化:Unsharp Mask、DoG 锐化与 Halo 抑制方案

073、边缘增强与锐化:Unsharp Mask、DoG 锐化与 Halo 抑制方案 一、从一次“锐化翻车”说起 去年做某款旗舰机的前置摄像头调试,客户反馈自拍时头发丝边缘出现一圈“白边”,像开了美颜过度的高光描边。我第一反应是锐化强度太高,把参数从1.5降到0.8,结果白边还在,只是变…

作者头像 李华
网站建设 2026/6/11 6:26:52

ssm房屋租售网站的设计与实现(10179)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告/任务书&#xff09;远程调试控屏包运行一键启动项目&…

作者头像 李华
网站建设 2026/6/11 6:23:54

字节跳动核心业务深度依赖阿里云基础设施摘要:字节跳动旗下抖音、TikTok、今日头条、豆包等核心业务的关键基础设施均依托阿里云构建,形成八大隐蔽命脉:1)豆包大模型训练数据、推理算力及版本托管;2)抖

一、第一核心命脉&#xff1a;豆包大模型全系底层核心挂靠&#xff08;重中之重&#xff09;大模型预训练海量冷数据基座 对外宣称全部自研智算中心完成训练沉淀&#xff0c;实际历年全网用户对话语料、训练原始样本库、海量脱敏训练数据集&#xff0c;主体存量全部存放在阿里云…

作者头像 李华
网站建设 2026/6/11 6:20:57

如何让老旧Mac焕发新生:OCLP-Mod硬件适配方案探索

如何让老旧Mac焕发新生&#xff1a;OCLP-Mod硬件适配方案探索 【免费下载链接】OCLP-Mod A mod version for OCLP,with more interesting features. 项目地址: https://gitcode.com/gh_mirrors/oc/OCLP-Mod 老旧设备系统升级一直是许多Mac用户的痛点&#xff0c;特别是2…

作者头像 李华