当前位置:   article > 正文

华为OD机试 - 执行任务赚积分 - 动态规划(Java 2024 D卷 100分)_现有n个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1

现有n个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1

一、题目描述

现有 N 个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为 1。

每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。

可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。

二、输入描述

第一行为一个数 N ,表示有 N 个任务(1 ≤ N ≤ 100 )

第二行为一个数 T ,表示可用于处理任务的时间。(1 ≤ T ≤ 100)

接下来 N 行,每行两个空格分隔的整数(SLA 和 和 V ),SLA 表示任务的最晚处理时间,V 表示任务对应的积分。

1≤SLA≤100 , 0 ≤ V ≤ 100000

三、输出描述

可获得的最多积分。

1、输入

4
3
1 2
1 3
1 4
1 5

2、输出

5

3、说明

虽然有 3 个单位的时间用于处理任务,可是所有任务在时刻1之后都无效。 所以在第 1 个时间单位内,选择处理有 5 个积分的任务。1−3 时无任务处理。

四、解题思路

本题的本质是一个类似于背包问题的动态规划问题,称为"01背包问题"。在这种问题中,我们需要决定在给定的总时间 T 内,应该完成哪些任务以最大化积分。每个任务都可以视为一个物品,任务的处理时间

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/967825
推荐阅读
相关标签
  

闽ICP备14008679号