当前位置: 首页 > news >正文

2021 RoboCom 世界机器人开发者大赛-本科组(复赛):拼题A打卡奖励

拼题 A 的教超搞打卡活动,指定了 N 张打卡卷,第 i 张打卡卷需要 mi​ 分钟做完,完成后可获得 ci​ 枚奖励的金币。活动规定每张打卡卷最多只能做一次,并且不允许提前交卷。活动总时长为 M 分钟。请你算出最多可以赢得多少枚金币?

输入格式:

输入首先在第一行中给出两个正整数 N(≤103) 和 M(≤365×24×60),分别对应打卡卷的数量和以“分钟”为单位的活动总时长(不超过一年)。随后一行给出 N 张打卡卷要花费的时间 mi​(≤600),最后一行给出 N 张打卡卷对应的奖励金币数量 ci​(≤30)。上述均为正整数,一行内的数字以空格分隔。

输出格式:

在一行中输出最多可以赢得的金币数量。

输入样例:

5 110
70 10 20 50 60
28 1 6 18 22

输出样例:

40

样例解释:

选择最后两张卷子,可以在 50+60=110 分钟内获得 18+22=40 枚金币。

做法

01背包问题。

dp数组第一维是考虑了前i个卷子,第二维是花费的时间。

#include<bits/stdc++.h>
using namespace std;
int n,m;
int ans=-0x3f3f3f3f;
int a[1010],b[1010];
int dp[1010][600000];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n;i++) scanf("%d",&b[i]);memset(dp,-0x3f,sizeof(dp));dp[0][0]=0;for(int i=1;i<=n;i++){//考虑前i个 for(int j=0;j<=m;j++){if(j>=a[i])  dp[i][j]=max(dp[i][j],dp[i-1][j-a[i]]+b[i]);dp[i][j]=max(dp[i][j],dp[i-1][j]);//别忘了更新当前的 }}for(int i=0;i<=m;i++) ans=max(ans,dp[n][i]);cout<<ans;
}

但是吧,dp数组超空间了,得改成1维数组。

#include<bits/stdc++.h>
using namespace std;
int n,m;
int ans=-0x3f3f3f3f;
int a[1010],b[1010];
int dp[600000];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n;i++) scanf("%d",&b[i]);memset(dp,-0x3f,sizeof(dp));dp[0]=0;for(int i=1;i<=n;i++){for(int j=m;j>=0;j--){//倒序 if(j>=a[i])  dp[j]=max(dp[j],dp[j-a[i]]+b[i]);}}for(int i=0;i<=m;i++) ans=max(ans,dp[i]);cout<<ans;
}

这么交上去结果运行超时了,有几个的过不去。为什么呢,因为我们的m太大了。那我们就把dp数组的下标表示为金币,而不是时间。注意dp数组初始化的值

#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1010],b[1010];
int dp[30010];
int mv;
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);for(int i=1;i<=n;i++) scanf("%d",&b[i]),mv+=b[i];memset(dp,0x3f,sizeof(dp));//初始化的值不同dp[0]=0;for(int i=1;i<=n;i++){for(int j=mv;j>=0;j--){if(j>=b[i]) dp[j]=min(dp[j],dp[j-b[i]]+a[i]);//取最小值,因为取得相同金币,时间越少越好}}for(int j=mv;j>=0;j--){if(dp[j]<=m){cout<<j;return 0;}}
}

相关文章:

2021 RoboCom 世界机器人开发者大赛-本科组(复赛):拼题A打卡奖励

拼题 A 的教超搞打卡活动&#xff0c;指定了 N 张打卡卷&#xff0c;第 i 张打卡卷需要 mi​ 分钟做完&#xff0c;完成后可获得 ci​ 枚奖励的金币。活动规定每张打卡卷最多只能做一次&#xff0c;并且不允许提前交卷。活动总时长为 M 分钟。请你算出最多可以赢得多少枚金币&a…...

flink 大数据处理资源分配

Flink在大数据处理中的资源分配是一个复杂但至关重要的过程&#xff0c;它直接影响到作业的性能和稳定性。以下将从几个方面详细阐述Flink的资源分配机制和优化策略&#xff1a; 一、资源分配概述 Flink是一个用于无界和有界数据流处理的分布式计算框架&#xff0c;它通过集群…...

独立站营销新思路:携手TikTok达人,促进用户参与与品牌传播

数字化时代&#xff0c;品牌传播的方式发生了重大变化。尤其是TikTok&#xff0c;作为全球最受欢迎的短视频平台之一&#xff0c;其独特的社群特点和用户行为模式&#xff0c;对品牌独立站提供了全新的营销思路。本文Nox聚星将和大家分析TikTok社群的特点和用户行为模式&#x…...

工单管理系统能解决什么?

工单系统具备智能化派单模式工程师响应快减少员工等待时间。自定义知识库可提升工程师专业技能水平&#xff0c;帮助工程师迅速判断员工问题&#xff0c;极大提升员工报单体验。系统还能够大幅提升职能部门可以服务的用户数&#xff0c;有效降低专业人力成本开支&#xff0c;提…...

探索Facebook在人工智能领域的最新进展

在当今快速发展的科技领域中&#xff0c;人工智能&#xff08;AI&#xff09;作为一项关键技术&#xff0c;正在逐步改变着社交媒体的面貌。作为全球最大的社交平台之一&#xff0c;Facebook积极探索和应用人工智能&#xff0c;以提升用户体验、增强平台安全性并推动技术创新。…...

Deepspeed : AttributeError: ‘DummyOptim‘ object has no attribute ‘step‘

题意&#xff1a;尝试在一个名为 DummyOptim 的对象上调用 .step() 方法&#xff0c;但是这个对象并没有定义这个方法 问题背景&#xff1a; I want to use deepspeed for training LLMs along with Huggingface Trainer. But when I use deepspeed along with trainer I get …...

【Python123题库】#查询省会 #字典的属性、方法与应用

禁止转载&#xff0c;原文&#xff1a;https://blog.csdn.net/qq_45801887/article/details/140081665 参考教程&#xff1a;B站视频讲解——https://space.bilibili.com/3546616042621301 有帮助麻烦点个赞 ~ ~ Python123题库 查询省会字典的属性、方法与应用 查询省会 类型…...

数据建设实践之大数据平台(一)

大数据组件版本信息 zookeeper-3.5.7hadoop-3.3.5mysql-5.7.28apache-hive-3.1.3spark-3.3.1dataxapache-dolphinscheduler-3.1.9大数据技术架构 大数据组件部署规划 node101node102node103node104node105datax datax datax ZK ZK ZK RM RM NM...

【MIT 6.5840/6.824】Lab1 MapReduce

MapReduce MapReduce思想实现思路感受 6.5840/6.824 Lab与笔记汇总 本文对应的Lab版本为MIT6.5840-Spring2024的Lab1 本博客只提供思路&#xff0c;不会公开任何代码 本lab耗时约6h&#xff0c;码量约500行 MapReduce思想 MapReduce的思想属于是比较简单的&#xff0c;分为两…...

如何在 C 语言中进行选择排序?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; &#x1f4d9;C 语言百万年薪修炼课程 通俗易懂&#xff0c;深入浅出&#xff0c;匠心打磨&#xff0c;死磕细节&#xff0c;6年迭代&#xff0c;看过的人都说好。 文章目…...

开源浏览器引擎对比与适用场景:WebKit、Chrome、Gecko

WebKit与Chrome的Blink引擎对比 起源与关系&#xff1a; WebKit最初由苹果公司开发&#xff0c;用于Safari浏览器。后来&#xff0c;WebKit逐渐成为一个独立的开源项目&#xff0c;被多个浏览器厂商采用。Blink是Google基于WebKit项目分支出来的一个浏览器引擎&#xff0c;用于…...

DNF客户端使用

客户端使用 1、下载客户端2、配置网关连接到服务器2.1 网关设置参数&#xff1a;2.2 点击连接网关2.3 点击“参数设置内容立即生效” 3、使用网关生成登陆器3.1 登陆器参数设置3.2 点击增加3.3 复制网关的通信密钥,点击生成登陆器 4、复制替换相关文件4.1 复制登陆器到客户端文…...

打包时提示:Missing Gradle Project Information.或者在加载gradle时出错

1.Android打包弹出错误提示框&#xff1a;missing gradle project information. please check if the IDE successfully synchronized its state with the Gradble project model. 2.加载gradle出错&#xff1a;修复报错后 File -> Sync Project with Gradle Files...

基于前馈神经网络 FNN 实现股票单变量时间序列预测(PyTorch版)

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…...

Scikit Learn - 建模手册(02)--- 数据表示、估算器

Scikit Learn - 数据表示 文章目录 一、说明二、数据表格2.1 数据作为特征矩阵2.2 数据作为目标数组 三、什么是 Estimator API四、Estimator API 的使用五、指导原则六、使用 Estimator API 的步骤七、监督学习示例八、无监督学习示例 一、说明 众所周知&#xff0c;机器学习…...

【鸿蒙学习笔记】通过用户首选项实现数据持久化

官方文档&#xff1a;通过用户首选项实现数据持久化 目录标题 使用场景第1步&#xff1a;源码第2步&#xff1a;启动模拟器第3步&#xff1a;启动entry第6步&#xff1a;操作样例2 使用场景 Preferences会将该数据缓存在内存中&#xff0c;当用户读取的时候&#xff0c;能够快…...

LabVIEW航空发动机试验器数据监测分析

1. 概述 为了适应航空发动机试验器的智能化发展&#xff0c;本文基于图形化编程工具LabVIEW为平台&#xff0c;结合航空发动机试验器原有的软硬件设备&#xff0c;设计开发了一套数据监测分析功能模块。主要阐述了数据监测分析功能设计中的设计思路和主要功能&#xff0c;以及…...

快速上手:前后端分离开发(Vue+Element+Spring Boot+MyBatis+MySQL)

文章目录 前言项目简介环境准备第一步&#xff1a;初始化前端项目登录页面任务管理页面 第二步&#xff1a;初始化后端项目数据库配置数据库表结构实体类和Mapper服务层和控制器 第三步&#xff1a;连接前后端总结 &#x1f389;欢迎来到架构设计专栏~探索Java中的静态变量与实…...

产品推荐| 长江存储eMMC嵌入式储存 YMTC EC230

产品详情 EC230是基于长江存储晶栈Xtacking3.0三维闪存架构打造的新一代eMMC 5.1嵌入式存储产品。EC230的最大顺序读取速度达330MB/s&#xff0c;支持动态SLC缓存&#xff0c;为终端设备提供稳定高性能&#xff1b;支持自动后台/自动节能等操作&#xff0c;减少设备延迟&#…...

【Linux】IP地址与主机名

文章目录 1.IP地址2.特殊IP地址3.主机名4.域名解析 1.IP地址 每一台联网的电脑都会有一个地址&#xff0c;用于和其它计算机进行通讯 IP地址主要有2个版本&#xff0c;V4版本和V6版本 IPv4版本的地址格式是&#xff1a;a.b.c.d,其中abcd表示0~255的数字&#xff0c;如192.168.…...

多用途气动机器人结构设计(论文+DWG图纸+任务书+翻译+调研报告+实践小结)

多用途气动机器人结构设计聚焦于通过气动驱动系统实现机械结构的灵活操作&#xff0c;其核心作用在于整合气动元件与机械模块&#xff0c;构建具备多场景适应能力的执行平台。该设计以压缩空气为动力源&#xff0c;通过气缸、电磁阀及管路系统的协同控制&#xff0c;驱动末端执…...

解锁学术新姿势:书匠策AI,期刊论文的“全能智囊团”

在学术的征途上&#xff0c;期刊论文就像是一座座需要攀登的高峰&#xff0c;既考验着我们的知识储备&#xff0c;也挑战着我们的写作技巧。不过&#xff0c;别怕&#xff0c;今天我要给大家介绍一位学术界的“超级英雄”—— 书匠策AI官网&#xff1a;www.shujiangce.com &…...

开源广告拦截工具AdGuard浏览器扩展:全平台部署与效率优化指南

开源广告拦截工具AdGuard浏览器扩展&#xff1a;全平台部署与效率优化指南 【免费下载链接】AdguardBrowserExtension AdGuard browser extension 项目地址: https://gitcode.com/gh_mirrors/ad/AdguardBrowserExtension 【价值解析】AdGuard扩展如何重塑你的网络浏览体…...

Vue大屏自适应实战指南:v-scale-screen深度解析与完整方案

Vue大屏自适应实战指南&#xff1a;v-scale-screen深度解析与完整方案 【免费下载链接】v-scale-screen Vue large screen adaptive component vue大屏自适应组件 项目地址: https://gitcode.com/gh_mirrors/vs/v-scale-screen 在当今数据驱动的时代&#xff0c;大屏数据…...

Linux上使用apt-file查找编译时缺失的依赖库

前言&#xff1a;在Linux上做开发时会遇到依赖库缺失与环境配置问题&#xff0c;如报"fatal error:xxxxxxx.h:没有那个文件或者目录"等错误&#xff0c;此时则只能通过提示中缺失的头文件"xxxxxxx.h"进行缺失依赖库的定位&#xff0c;若错误提示的头文件为…...

WordPress内容组织终极指南:Argon主题标签与分类管理新策略

WordPress内容组织终极指南&#xff1a;Argon主题标签与分类管理新策略 【免费下载链接】argon-theme &#x1f4d6; Argon - 一个轻盈、简洁的 WordPress 主题 项目地址: https://gitcode.com/gh_mirrors/ar/argon-theme Argon主题是一款轻盈、简洁的WordPress主题&…...

PETS5平行考试全解析:值不值得参加?我在长沙住了9天的真实体验与风险提示

PETS5平行考试全解析&#xff1a;值不值得参加&#xff1f;我在长沙住了9天的真实体验与风险提示 当PETS5考试成为留学申请路上的必经关卡时&#xff0c;许多考生会面临一个特殊选择&#xff1a;是否要参加平行考试&#xff1f;这个鲜为人知的选项背后&#xff0c;隐藏着独特的…...

OpCore-Simplify终极指南:3分钟打造完美黑苹果EFI配置

OpCore-Simplify终极指南&#xff1a;3分钟打造完美黑苹果EFI配置 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 想要体验macOS的强大功能&#xff0…...

Aimmy:重新定义游戏公平性,AI技术为视障玩家打造的智能瞄准革命

Aimmy&#xff1a;重新定义游戏公平性&#xff0c;AI技术为视障玩家打造的智能瞄准革命 【免费下载链接】Aimmy Universal Second Eye for Gamers with Impairments (Universal AI Aim Aligner (AI Aimbot) - ONNX/YOLOv8 - C#) 项目地址: https://gitcode.com/gh_mirrors/ai…...

用PyQt5打造GUI应用:PyCharm中QtDesigner和PyUic的高效工作流配置

PyCharm专业版中PyQt5高效开发&#xff1a;QtDesigner与PyUic深度整合指南 在Python GUI开发领域&#xff0c;PyQt5凭借其强大的功能和跨平台特性&#xff0c;已成为众多开发者的首选工具。然而&#xff0c;许多中级开发者在实际项目中常遇到工作流断裂的问题——设计界面与代码…...