[GESP202312 六级] 闯关游戏

ops/2024/10/20 3:40:13/

思路

这道题目使用动态规划(dynamic programming)。

dp[i]存储通过第 i 关能够获得的最高分数。

先把可以到达的关卡标记好。

然后用 for 循环计算 dp[i] 的值。

最后用一个 for 循环找到最大的 dp[i] 的值并输出。

代码

#include<bits/stdc++.h>
using namespace std;
int n,m,a[105],b[20005],dp[20005];
bool c[20005];
int main(){cin>>n>>m;for(int i=0;i<m;i++) cin>>a[i];for(int i=0;i<n;i++) cin>>b[i];c[0]=1;for(int i=0;i<n;i++){if(c[i]==0) continue;for(int j=0;j<m;j++) c[i+a[j]]=1;}
//	for(int i=0;i<n*2;i++) cout<<c[i]<<endl;for(int i=0;i<n*2;i++){if(c[i]==0) continue;int maxx=-1000000001;for(int j=0;j<m;j++){if(i-a[j]>=0&&c[i-a[j]]==1){maxx=max(maxx,dp[i-a[j]]+b[i]);}}dp[i]=maxx;if(maxx==-1000000001) dp[i]=b[i];}	
//	for(int i=0;i<n;i++) cout<<dp[i]<<" ";int ans=-1000000001;for(int i=n-1;i<n*2;i++){if(c[i]==1) ans=max(ans,dp[i]);}cout<<ans;return 0;
}


http://www.ppmy.cn/ops/42753.html

相关文章

uniApp 创建Android.keystore证书IOS的证书

Android 证书 1、安装JRE环境 可从Oracle官方下载jre安装包&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/index.html 打开命令行&#xff08;cmd&#xff09;&#xff0c;输入以下命令&#xff1a; //切换工作目录到f:路径 D: //将jre命令添加到…

Vue学习笔记3——事件处理

事件处理 1、事件处理器&#xff08;1&#xff09;内联事件处理器&#xff08;2&#xff09;方法事件处理器 2、事件参数3、事件修饰符 1、事件处理器 我们可以使用v-on 指令(简写为)来监听DOM事件&#xff0c;并在事件触发时执行对应的JavaScript。 用法: v-on:click"me…

C语言.数据结构.顺序表

1.顺序表的概念及结构 1.1线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构&#xff0c;…

算法训练营day35

题目1&#xff1a;122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; 贪心算法思路很简单&#xff0c;就是把每一天的利润都算出来&#xff0c;然后把整的加起来就是结果 class Solution { public:int maxProfit(vector<int>& prices) {int resu…

全免费的数据恢复工具哪个好?分享2024年性价比超高的12款数据恢复软件!

当您丢失重要文件时&#xff0c;您应该可不想遇到措手不及的情况吧&#xff1f;相反&#xff0c;您需要在系统中使用一些可靠的数据恢复软件&#xff0c;但是全免费的数据恢复工具哪个好呢&#xff1f;别担心&#xff0c;本文将帮助您选择最适合您的解决方案。 如何挑选一款合适…

# 文件或目录损坏且无法读取 的解决方案

文件或目录损坏且无法读取 的解决方案 一、问题描述&#xff1a; windows 系统下&#xff0c;当对某一个文件或文件夹操作时&#xff0c;出现【文件或目录损坏且无法读取】&#xff0c;这时不管对其进行修改、删除、更改属性等操作&#xff0c;都不能正常进行&#xff0c;在 …

[C][指针]详细讲解

目录 0.铺垫1.指针是什么&#xff1f;2.指针变量3.指针和指针类型4.指针类型的意义5.野指针1.野指针成因2.如何规避野指针6.指针运算 6.指针和数组7.二级指针(n级指针&#xff09;8.指针数组9.数组指针10.&数组名VS数组名11.函数指针 12.函数指针数组13.回调函数 0.铺垫 在…

Mac m1安装AWVS

目录 原因 安装 下载镜像 进入终端 启动AWVS 登陆 原因 由于 m1 为 arm 芯片,兼容性问题无法独立安装x86的AWVS,所以使用docker安装较为方便使用。