2023华为OD机试真题【缓存需要最少金币数/贪心算法】

2023-11-16

题目描述

静态扫描可以快速识别源代码的缺陷,静态扫描的结果以扫描报告作为输出:
1、文件扫描的成本和文件大小相关,如果文件大小为N,则扫描成本为N个金币
2、扫描报告的缓存成本和文件大小无关,每缓存一个报告需要M个金币
3、扫描报告缓存后,后继再碰到该文件则不需要扫描成本,直接获取缓存结果给出源代码文件标识序列和文件大小序列,求解采用合理的缓存策略,最少需要的金币数
输入描述
第一行为缓存一个报告金币数M,L<= M <= 100
第二行为文件标识序列: F1,F2,F3,…,Fn。
第三行为文件大小序列: S1,S2,S3,…,Sn。
备注: 1 <= N <= 10000 1 <= Fi <= 1000 1 <=Si <= 10
输出描述
采用合理的缓存策略,需要的最少金币数
示例1:
输入
5
1 2 2 1 2 3 4
1 1 1 1 1 1 1
输出
7
说明
文件大小相同,扫描成本均为1个金币。缓存任意文件均不合算,因而最少成本为7金币。
示例2:
输入
5
2 2 2 2 2 5 2 2 2
3 3 3 3 3 1 3 3 3
输出
9

解题思路<

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2023华为OD机试真题【缓存需要最少金币数/贪心算法】 的相关文章

随机推荐

  • C#使用Socket实现一个socket服务器与多个socket客户端通信

    在分布式调度系统中 如果要实现调度服务器与多台计算节点服务器之间通信 采用socket来实现是一种实现方式 当然我们也可以通过数据存储任务 子节点来完成任务 但是往往使用数据作为任务存储都需要定制开发 要维护数据库中任务记录状态等等 开发的
  • 有5个学生的信息(包括学号,姓名,成绩),要求用选择法按照成绩的高低顺序输出各学生的信息。

    include
  • ORA-00257 归档日志写入失败异常

    ORA 00257 归档日志写入失败异常 问题描述 应用程序连接数据库时提示 ORA 00257 错误 问题分析 oerr ora 00257 00257 00000 Archiver error Connect AS SYSDBA onl
  • 索引表简介

    索引表简介 1 索引的内部构造 因为在索引表中涉及到索引的内部构造知识 所以下面会进行简单的介绍 首先 如果没有索引 当你想要去查找某个值的时候 你不得不对数据进行顺序扫描 如果一张表有n行 那么使用顺序扫描的平均扫描行数为n 2 一旦表的
  • Linux_CentOS_/usr、/usr/share、/etc、目录下文件系统规则

    usr目录下的常用文件夹 usr share目录下的常用文件夹 etc目录下的常用文件夹 var log目录下的常用文件 usr local目录下常用文件夹
  • 1366 - Incorrect string value: ‘\xE8\xBE\xBD\xE5\xAE\x81...‘ for column ‘province_name‘ at row 1

    修改表的字符集编码 ALTER TABLE TABLE NAME CONVERT TO CHARACTER SET utf8mb4
  • 基于LinkedHashMap实现LRU Cache以及手写LRU

    public class LRUCache
  • FreeLibrary问题

    FreeLibrary问题 Delphi Windows SDK API http www delphi2007 net DelphiAPI html delphi 20061127162652164 html 释放动态库时报C盘下的系统文
  • QT学习之QMainWindow详解

    文章目录 1 菜单栏 2 工具栏 3 状态栏 4 铆接部件 5 核心部件 中心部件 6 资源文件 有关QT的学习我们会采取连载更新 传送门 有C 基础如何直接上手QT 最适合新手的第一个Qt小程序 今天更新内容为QMainWindow相关学
  • C++代理模式:Proxy Pattern

    代理模式 为另一个对象提供一个替身或者占位符以控制对这个对象的访问 这样做的好处是 可以在目标对象实现的基础上 增强额外的功能操作 即扩展目标对象的功能 代理需要做的 控制和管理访问 需要时可以扩展目标对象的功能 被代理的对象可以是远程的对
  • 实时音视频的那些事儿(三)—— 音频编码

    前言 上一篇文章 实时音视频的那些事儿 二 音频采集 中我们讲到了如何在iOS Android Windows平台实现音频采集 今天将介绍如何实现音频的编码 一 iOS 中使用 AudioUnit 实现音频编码的过程 AudioUnit 是
  • java IO、NIO、AIO详解

    目录 概述 一 IO流 同步 阻塞 二 NIO 同步 非阻塞 三 NIO2 异步 非阻塞 正文 回到顶部 概述 在我们学习Java的IO流之前 我们都要了解几个关键词 同步与异步 synchronous asynchronous 同步是一种
  • PE文件资源解析(四)光标资源的解析

    光标资源 在这里指的是资源类型为RT CURSOR的资源信息 通过ResHacker看到的效果图如下 解析代码如下 HRSRC hResrc FindResourceEx HMODULE hModule lpType lpName wLan
  • 将数组中的元素拼接为一个字符串

    join 方法 利用JS数组的join 方法即可完成将元素拼接为一个字符串 arrayObject join separator 备注 join 方法不给定分隔符的时候 默认以英文逗号作为分隔符 toString 方法 可以使用JS数组的t
  • 如何破解PDF文件密码(在线破解PDF密码)

    如何破解PDF文件密码 在线破解PDF密码 fcwgw 5d6d com 整理 凌空飞度社区 每当毕业临近的时候 毕业生都会忙着写论文 每逢此时 Adobe Reader就是最忙的了 但是有时候遇到一些加密的PDF文档 Adobe Read
  • Jenkins与git结合使用进行C++代码静态检查

    Jenkins与git结合使用进行C 代码静态检查 在软件开发过程中 静态代码检查是一种常见的工具和实践 可以帮助开发人员在编码阶段尽早发现和解决潜在的问题 本文将介绍如何使用Jenkins和git集成 利用cppcheck进行C 代码的静
  • 建站系列(一)--- 网站基本常识

    目录 相关系列文章 前言 一 因特网 二 网站 三 服务器 四 IP 五 域名 六 DNS 七 Hosts文件 八 端口号 九 URL 十 静态网站 十一 动态网站 相关系列文章 建站系列 一 网站基本常识 建站系列 二 域名 IP地址 U
  • Python 使用requests发送get请求

    get请求是常用的请求之一 相对于post请求简单些 对于传参数的get请求有的还是有难度的 和post请求一样 必须知道每个字段的含义 这样拿到的响应才是正确的 也是我们想要的 不带参数的get请求 import requests hea
  • 自学Android之路---笔记

    1 查看类的源码CTRL b 2 所有的活动即activity必须要在AndroidManifest xml中进行注册才能生效 3 布局多练习
  • 2023华为OD机试真题【缓存需要最少金币数/贪心算法】

    题目描述 静态扫描可以快速识别源代码的缺陷 静态扫描的结果以扫描报告作为输出 1 文件扫描的成本和文件大小相关 如果文件大小为N 则扫描成本为N个金币 2 扫描报告的缓存成本和文件大小无关 每缓存一个报告需要M个金币 3 扫描报告缓存后 后