华为OD机试真题-最大报酬【2023.Q1】

2023-11-13

题目内容

小明每周上班都会拿到自己的工作清单,工作清单内包含n项工作,每项工作都有对应的耗时时间(单位h)和报酬,
工作的总报酬为所有已完成工作的报酬之和,那么请你帮小明安排一下工作,保证小明在指定的工作时间内工作收入最大化。
输入描述
输入的第一行为两个正整数T,n。
T代表工作时长(单位h,0<T<1000000),n代表工作数量(1<n≤3000)。
接下来是n行,每行包含两个整数t,w。
t代表该工作消耗的时长(单位h,t>0),w代表该项工作的报酬。
输出描述
输出小明指定工作时长内工作可获得的最大报酬。
输入
40 3
20 10
20 20
20 5
输出
30

解题思路

这是一道典型的动态规划题目。dp[i][j]表示在前 i 个工作中,用 j 小时完成工作的最大报酬。
状态转移方程如下:

dp[i][j] = max(dp[i-1][j], tasks[i-1][1] + dp[i-1][j-tasks[i-1][0]])

因为每次更新dp,我们有两种选择:

  • 不完成第i个工作,即继续使用前i-1个工作的状态,所以此时状态为dp[i-1][j]。
  • 完成第i个工作,那么需要从前 i-1 个工作
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为OD机试真题-最大报酬【2023.Q1】 的相关文章

  • 获取文件的锁

    我想在对特定文件开始 threo read 时获取文件上的锁定 以便其他应用程序无法读取已锁定的文件并希望在线程终止时释放锁定文件 您可以获得一个FileLock https docs oracle com javase 8 docs ap
  • 带有 Android 支持库 v7 的 Maven Android 插件

    我使用 maven android plugin 构建我的 android 应用程序 它依赖于 android 支持库 v4 和 v7 由于我没有找到如何从developer android com下载整个sdk 因此我无法使用maven
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 在 Struts 2 中传递 URL 参数而不使用查询字符串

    我想使用类似的 URL host ActionName 123 abc 而不是像这样传递查询字符串 host ActionName parm1 123 parm2 abc 我怎样才能在 Struts 2 中做到这一点 我按照下面的方法做了
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • 如何使用正则表达式验证 1-99 范围?

    我需要验证一些用户输入 以确保输入的数字在 1 99 范围内 含 这些必须是整数 Integer 值 允许前面加 0 但可选 有效值 1 01 10 99 09 无效值 0 007 100 10 5 010 到目前为止 我已经制定了以下正则
  • 虽然我的类已加载,但 Class.forName 抛出 ClassNotFoundException

    代码如下 它的作用是加载我放在主目录中的 jar 文件中的所有类 import java io File import java util jar JarFile import java util jar JarEntry import j
  • 通过 appassembler-maven-plugin 生成的脚本无法在 Spring Boot 应用程序中找到主类

    我使用 appassembler maven plugin 生成的启动脚本有问题 我有一个基本的 spring boot 应用程序 只有一个类 SpringBootApplication public class ScriptDemoApp
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • Lombok @Builder 不创建不可变对象?

    在很多网站上 我看到 lombok Builder 可以用来创建不可变的对象 https www baeldung com lombok builder singular https www baeldung com lombok buil
  • 使用Java绘制维恩图

    我正在尝试根据给定的布尔方程绘制维恩图 例如 a AND b AND c我想在 Android 手机上执行此操作 因此我需要找到一种使用 Java 来执行此操作的方法 我找到了一个完美的小部件 它可以完成我在这方面寻找的一切布尔代数计算器
  • 如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

    我有一个带有 Java 代码的多模块 Maven 设置 我的单元测试在其中一个模块中测试多个模块中的代码 当然 这些模块具有相互依赖性 并且在测试执行之前根据需要编译所有相关模块中的代码 那么 如何获得整个代码库覆盖率的报告 注意 我不是问
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • 使用 JFreeChart 为两个系列设置不同的 y 轴

    我正在使用 JFreeChart 使用折线图绘制两个数据系列 XYSeries 复杂的因素是 其中一个数据系列的 y 值通常远高于第二个数据系列的 y 值 假设第一个系列的 y 值约为数百万数量级 而第二个数据系列的 y 值约为数百万数量级
  • 基于 Spring Boot 的测试中的上下文层次结构

    我的 Spring Boot 应用程序是这样启动的 new SpringApplicationBuilder sources ParentCtxConfig class child ChildFirstCtxConfig class sib

随机推荐

  • Win10、Win11 增加系统暂停更新时间教程

    在我们日常电脑的使用中 经常会遇到系统弹出系统更新提示 还不想更新系统的用户就会设置暂停更新 但是暂停更新是有时间限制的 在设置中我们可以看得到最多只能暂停 5 周更新 下面是延长暂停时间的教程 基本等于永久关闭更新 1 首先 按键盘上的
  • C++中的封装、继承、多态

    封装 encapsulation 就是将抽象得到的数据和行为 或功能 相结合 形成一个有机的整体 也就是将数据与操作数据的源代码进行有机的结合 形成 类 其中数据和函数都是类的成员 封装的目的是增强安全性和简化编程 使用者不必了解具体的实现
  • 我今年24岁,月入4500,怎么慌成这样?

    之前在某职场大号看到有粉丝留言 不知道为什么 不管怎样努力好像都没什么用 职位没有提升 收入也上不去 和同龄人的差距越来越大 大概是说出了很多人的心声 这条留言的点赞数直飙第一 或许你也曾有过这种疑惑 有的人年纪轻轻 已经是职业精英 有的人
  • Android EditText禁止输入空格和特殊字符

    有时候我们需要限制EditText输入的字符类型 如空格 特殊字符等 这时候我们可以使用系统提供的输入过滤器 InputFilter 具体实现如下 禁止EditText输入空格 param editText public static vo
  • eclipse使用记录

    1 ctrl alt esc取消eclipse置顶 2 https github com java decompiler jd eclipse releases download v2 0 0 jd eclipse 2 0 0 zip ec
  • oracle 11.2.0.4 rac

    oracle 11 2 0 4 rac for rhel 6 8 installation kissweety 于 2017 09 18 09 22 37 发布 3523 收藏 1 分类专栏 ORACLE数据库 文章标签 oracle rh
  • 【Unity 插件】 Shader Editor

    之前因为项目需求要研究如何写Unity的Shader 可是目前国内研究shader语言的可谓凤毛麟角 更别说大神了 没办法 唯有找插件顶住先 几经艰辛地点了不少搜索键后 终于发现了Shader Editor 咋看之下这插件十分复杂 但是用过
  • 2020年最全的自动化测试面试题及答案--看完后吊打面试官!自动化测试是什么?自动化测试学什么?

    一 前言 最近有童鞋和我抱怨 说网上很难搜到那些全面又合适的自动化测试面试题 这里根据我个人的经验以及收集整理的 你没看错 不慌 慢慢来 先从什么是自动化测试开始说起哈 二 什么是自动化测试 什么是自动化测试 当我第一次知道自动化测试的时候
  • QObject::killTimer: timers cannot be stopped from another thread

    QObject killTimer timers cannot be stopped from another thread 产生原因 定时器的事件处理所处的线程和调用定时器操作 方法 的线程不是同一个线程 可以通过 qDebug lt l
  • selenium 实现头条关键字爬取

    from selenium import webdriver 设立米嗯 from selenium webdriver common by import By from selenium webdriver support ui impor
  • linux统计当前目录文件个数

    管道命令的形式是 命令1 命令2 其中命令2是管道命令 管道命令可以是查找字符串的grep命令 也可以是sort这样的排序命令 也可以是wc这样的统计命令 运行ls l会输出当前目录下的文件以及目录的信息 则只要在当前目录的输出结果中统计出
  • 算法训练 大小写转换 JAVA

    算法训练 大小写转换 JAVA 问题描述 编写一个程序 输入一个字符串 长度不超过20 然后把这个字符串内的每一个字符进行大小写变换 即将大写字母变成小写 小写字母变成大写 然后把这个新的字符串输出 输入格式 输入一个字符串 而且这个字符串
  • 开源进展

    WeBASE是一个友好 功能丰富的区块链中间件平台 通过一系列通用功能组件和实用工具 助力社区开发者更快捷地与区块链进行交互 目前WeBASE已更新迭代至v3 1 0版本 本次更新中 WeBASE带来了最新的合约Java脚手架导出功能 完成
  • 富甲一方的MetaRim震撼来袭,是一个结合元宇宙链游的NFT机甲

    MetaRim是一个结合元宇宙链游的NFT机甲 在去年底 知名漫画作家宫崎骏授权了元宇宙项目 MetaRim 并同意 MetaRim 将宫崎骏所创造的十部作品当作素材推出相关 NFT 这也是MetaRim首次为众人所知 扩展场景 机甲Gam
  • 面向对象概述、类与对象内存图、构造方法、构造器、构造方法重载、构造方法作用、this关键字、static

    面向对象编程思想 按照人类正常的思维去编程 面向过程 一 面向对象编程导图 可以把类理解为模板 对象理解为具体的产品 在类外可以通过对象 属性 对象 行为访问属性和行为 在类内直接访问属性和行为 一旦new就在堆汇总给创建了新的对象 对象和
  • MySQL -2 指令

    客户端SQL指令记录 针对 数据库和针对数据表 一 数据库 1 查看当前所有数据库 show databases 2 创建数据库 create database 数据库名 DEFAULT CHARSET utf8 COLLATE utf8
  • 第十二讲-讲为什么我的MySQL会“抖”一下

    为什么我的MySQL会 抖 一下 当内存数据页跟磁盘数据页内容不一致的时候 我们称这个内存页为 脏页 内存数据写入到磁盘后 内存和磁盘上的数据页的内容就一致了 称为 干净页 抖动的时候应该是在刷脏页 第一种场景是 粉板满了 记不下了 这时候
  • 用opencv2的C api 给图片画矩形框

    使用opencv 3 4 6 Ubuntu系统 步骤 安装opencv 过程可以参考 https docs opencv org master d7 d9f tutorial linux install html 编程 opencv 3 4
  • 0基础也能看懂,软件测试怎么去介绍一个项目的测试流程?

    软件测试流程及规范 一 目标 制定完整且具体的测试路线和流程 为快速 高效和高质量的软件测试提供基础流程框架 最终目标是实现软件测试规范化 标准化 二 测试流程说明 三 需求分析 需求分析由SA制定 要求细化每一个功能的细节 每一个按钮的位
  • 华为OD机试真题-最大报酬【2023.Q1】

    题目内容 小明每周上班都会拿到自己的工作清单 工作清单内包含n项工作 每项工作都有对应的耗时时间 单位h 和报酬 工作的总报酬为所有已完成工作的报酬之和 那么请你帮小明安排一下工作 保证小明在指定的工作时间内工作收入最大化 输入描述 输入的