【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 任务积分优化问题(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员

✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解

💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导

👏 感谢大家的订阅➕ 和 喜欢💗

📎在线评测链接

任务积分优化问题(100分)
🌍 评测功能需要 订阅专栏 后私信联系清隆解锁~

🍓OJ题目截图

在这里插入图片描述

文章目录

    • 📎在线评测链接
    • 🍓OJ题目截图
    • 🌲 任务积分优化问题
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码

🌲 任务积分优化问题

问题描述

K小姐在一家公司负责完成一系列任务,每个任务都有一个最晚完成时间和相应的积分奖励。现在,K小姐想知道在有限的时间内,她最多能获得多少积分。

输入格式

第一行包含一个整数 N N N,表示任务的数量。

第二行包含一个整数 T T T,表示可用于处理任务的时间。

接下来 N N N 行,每行两个整数 S L A SLA SLA V V V,分别代表任务的最晚处理时间和任务的积分值。

输出格式

输出一个整数,表示在限定的时间内能获得的最大积分。

样例输入

4
3
1 2
1 3
1 4
1 5

样例输出

5

数据范围

  • 1 ≤ N ≤ 100 1 \leq N \leq 100 1N100
  • 1 ≤ T ≤ 100 1 \leq T \leq 100 1T100
  • 1 ≤ S L A ≤ 100 1 \leq SLA \leq 100 1SLA100
  • 0 ≤ V ≤ 100000 0 \leq V \leq 100000 0V100000

题解

本题是一个经典的贪心选择问题,目标是在有限的时间内完成尽可能多的积分。由于每个任务都需要一个单位时间来完成,我们需要优先处理积分高且截止时间紧迫的任务。可以采用优先队列(最大堆)来实现,每次选择可完成任务中积分最高的任务进行处理。

参考代码

  • Cpp
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;int main() {int N, T;cin >> N >> T;vector<pair<int, int>> tasks(N);for (int i = 0; i < N; i++) {cin >> tasks[i].first >> tasks[i].second;}sort(tasks.begin(), tasks.end());priority_queue<int> pq;int current_time = 0, score = 0;for (int i = 0; i < N; i++) {if (current_time < T && tasks[i].first > current_time) {pq.push(tasks[i].second);current_time++;} else if (!pq.empty() && pq.top() < tasks[i].second) {pq.pop();pq.push(tasks[i].second);}}while (!pq.empty()) {score += pq.top();pq.pop();}cout << score << endl;return 0;
}
  • Python
import heapqN, T = [int(input()) for _ in range(2)]
tasks = []
for _ in range(N):tasks.append(tuple(map(int, input().split())))
tasks.sort()
pq = []
current_time, score = 0, 0
for task in tasks:if current_time < T and task[0] > current_time:heapq.heappush(pq, -task[1])current_time += 1elif pq and -pq[0] < task[1]:heapq.heappop(pq)heapq.heappush(pq, -task[1])
while pq:score += -heapq.heappop(pq)
print(score)
  • Java
import java.util.*;public class TaskScheduler {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int N = scanner.nextInt();int T = scanner.nextInt();List<Task> tasks = new ArrayList<>();for (int i = 0; i < N; i++) {int start = scanner.nextInt();int end = scanner.nextInt();tasks.add(new Task(start, end));}Collections.sort(tasks);PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());int currentTime = 0, score = 0;for (Task task : tasks) {if (currentTime < T && task.start > currentTime) {pq.add(task.end);currentTime++;} else if (!pq.isEmpty() && pq.peek() < task.end) {pq.poll();pq.add(task.end);}}while (!pq.isEmpty()) {score += pq.poll();}System.out.println(score);}static class Task implements Comparable<Task> {int start;int end;public Task(int start, int end) {this.start = start;this.end = end;}@Overridepublic int compareTo(Task other) {return Integer.compare(this.start, other.start);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1454190.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

VMware挂载NAS存储异常处理

问题概述 由于非法关机或恢复&#xff0c;NFS存储可能会出现以下问题&#xff1a; 数据存储处于挂起状态或无法正常识别。虚拟机的配置文件或虚拟磁盘仍然注册在异常数据存储上。系统误认为有虚拟机在使用该数据存储。 问题对策 下面是详细的排查步骤和解决对策&#xff1a…

别再这么起号了!TikTok小白起号误区,你中招了吗?

看过不少Tiktok新手的起号失败案例&#xff0c;总结下来就是以下这几个问题&#xff0c;今天结合一些个人起号心得给大家分享怎么成功在TK起号&#xff0c;希望对大家有所帮助。 手机/网络环境 首先我们要确保手机环境和网络环境没有问题&#xff0c;如果被TK判断出是非海外用户…

数据可视化在智慧水利中的关键应用

数据可视化是如何在智慧水利中应用的&#xff1f;在现代水利管理中&#xff0c;面对复杂的水资源数据和动态变化的水文情况&#xff0c;数据可视化技术通过将繁杂的数据转化为直观、易理解的图表和图形&#xff0c;极大地提升了水利管理的效率和决策的科学性。智慧水利利用数据…

怎么将经典动漫秒变高清动漫?

你的记忆中是否也有一部经典的动漫、动画片。那是我们童年的美好记忆&#xff0c;但是我们现在如果再去重温时往往会因为太模糊而看不下去&#xff0c;那么我们有什么好的办法可以修复动漫的清晰度呢&#xff1f;一起来看看吧&#xff01; 不管是修复动画片&#xff0c;还是修复…

十进制、二进制、十六进制之间的相互转换

实验目的 实现int 、float 转换为字符串并显示 实现数字字符以二进制、十进制、十六进制显示 实现十进制、二进制、十六进制之间的相互转换 #include "numconvert.h" #include "ui_numconvert.h"NumConvert::NumConvert(QWidget *parent): QWidget(parent)…

Java家政自营O2O同城服务源码微信小程序源码开源家政服务源码

打造便捷高效的家政新体验 &#x1f3e0; 引言&#xff1a;家政服务的新篇章 随着城市生活的节奏加快&#xff0c;越来越多的家庭开始选择家政服务来解放双手&#xff0c;享受更轻松的生活。然而&#xff0c;传统的家政服务方式往往存在信息不对称、服务质量参差不齐等问题。为…

Java_JDK下载与环境变量配置

目录 一、JDK下载安装 二、安装后配置环境变量 三、在编辑器里使用JDK 一、JDK下载安装 JDK 是Java开发工具包&#xff0c;它提供了用于开发和运行Java程序所需的工具和库。JDK包括Java编译器、Java虚拟机、Java标准库等。在IDEA中使用Java语言编写代码时&#xff0c;需要安…

Vue路由讲解-05

这里的路由并不是指我们平时所说的硬件路由器&#xff0c;这里的路由就是SPA&#xff08;single page application单页应用&#xff09;的路径管理器。再通俗的说&#xff0c;vue-router就是WebApp的链接路径管理系统。 vue-router是Vue.js官方的路由插件&#xff0c;它和vue.j…

【设计模式-10】代理模式的代码实现及使用场景

&emsp&#xff1b;代理模式是一种应用很广发的结构性设计模式&#xff0c;它的设计初衷就是通过引入新的代理对象&#xff0c;在客户端和目标对象之间起到中介的作用&#xff0c;从而实现控制客户端对目标对象的访问&#xff0c;比如增强或者阉割某些能力。 1. 概述 代理模…

如何看待SD3 版本,和SDXL相比有何优势?

胖友们好&#xff01;&#xff01;&#xff01;痴迷AI的本枕又来写Stable Diffusion了…… SD社区群众们翘首企盼的SD3的weights总算在huggingface上发布了 于是我也在当天非常激动地用ComfyUI生成了一些图像…… 这篇文章算是半个评测半个心得吧&#xff0c;因为有些东西是…

Pytorch构建vgg16模型

VGG-16 1. 导入工具包 import torch.optim as optim import torch import torch.nn as nn import torch.utils.data import torchvision.transforms as transforms import torchvision.datasets as datasets from torch.utils.data import DataLoader import torch.optim.lr_…

嘴尚绝卤味:传统与创新的味蕾碰撞,尝鲜必备美食!

在当今的餐饮市场中&#xff0c;各式各样的美食层出不穷&#xff0c;让人目不暇接。而在这一片美食的海洋中&#xff0c;嘴尚绝卤味以其独特的魅力和口感&#xff0c;成功吸引了众多食客的目光。今天&#xff0c;就让我们一起来探索一下&#xff0c;嘴尚绝卤味究竟有何魔力&…

STM32Cube配置STM32F072C8T6定时器

目录 1. 引脚![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e654bcd5ca8e4b049c0a7c9b8e8e0312.png)2. 时钟3. 定时器4. 代码增加 1. 引脚 2. 时钟 3. 定时器 4. 代码增加 在定时器初始化代码后增加定时器中断使能函数&#xff1a; HAL_TIM_Base_Start_IT(&am…

NVIDIA发布Nemotron-4 340B 用于生成高质量的合成数据

Nemotron-4 340B 是一系列为 NVIDIA NeMo 和 NVIDIA TensorRT-LLM 优化的模型&#xff0c;包括最先进的指令和奖励模型&#xff0c;以及用于生成式 AI 训练的数据集。 英伟达今日宣布推出 Nemotron-4 340B&#xff0c;这是一系列开放模型&#xff0c;开发者可以使用它们生成用于…

常用算法及参考算法 (1)累加 (2)累乘 (3)素数 (4)最大公约数 (5)最值问题 (6)迭代法

常用算法及参考算法 &#xff08;1&#xff09;累加 &#xff08;2&#xff09;累乘 &#xff08;3&#xff09;素数 &#xff08;4&#xff09;最大公约数 &#xff08;5&#xff09;最值问题 &#xff08;6&#xff09;迭代法 1. 累加 #include <stdio.h>int main() {…

MySQL 离线安装客户端

1. 官方网址下载对应架构的安装包。 比如我的是centOs 7 x64。则需下载如图所示的安装包。 2. 安装 使用如下命令依次安装 devel , client-plugins, client. rpm -ivh mysql-community-*.x86_64.rpm --nodeps --force 在Linux系统中&#xff0c;rpm是一个强大的包管理工具&…

Pikachu靶场--RCE

exec"ping" 输入IP地址查看页面反应 可以在IP地址的后面拼接我们想要执行的命令 127.0.0.1 & ipconfig 127.0.0.1 && type C:\Windows\win.ini 127.0.0.1 | systeminfo 127.0.0.1 && net user 命令连接符 &命令1和命令2正…

编译器优化入门(基于ESP32)

主要参考资料&#xff1a; kimi: https://kimi.moonshot.cn/ ESP-IDF 支持多种编译器&#xff0c;但默认情况下&#xff0c;它使用的是乐鑫官方提供的 Xtensa 编译器&#xff0c;这是一个针对 ESP32 芯片架构&#xff08;Tensilica Xtensa LX6 微处理器&#xff09;优化的交叉编…

GEM5 Garnet +DSENT: NoC power model 功耗模型

0. 简介 现在&#xff08;2024&#xff09;集成的是dsent。 Garnet作者&#xff0c;Turshar在2018年说Orion已经过时不在集成DSENT&#xff0c;但是集成DSENT的代码随着gem5更新也过时了&#xff0c;而他短期内没有更新的计划&#xff08;2018年说的&#xff09;。2023年还有一…

在矩池云快速使用ChatTTS,文本转语音太酷了

ChatTTS 最新的一款文本转语音模型&#xff0c;目前支持英文和中文两种语言&#xff0c;面向对话场景的转化则更为精准&#xff0c;在汉语的语音韵律方面超越了以往很多同类模型&#xff0c;此外它还支持细粒度控制&#xff0c;允许在文字中加入笑声、停顿、语气词等&#xff0…
最新文章