857.雇佣K名工人的最低成本

2024-05-02 13:12
文章标签 成本 最低 工人 雇佣 857

本文主要是介绍857.雇佣K名工人的最低成本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目说的其实是有点乱的,所以我们可能抓不住重点,甚至都不太清楚规则,比如 eg. 

quality=[3,1,10,10,1] wage=[4,8,200,200,7]  这里是选下标0,1,4 ->单价为8

        但是想清楚其实就很easy.  就是 贪心(sort) + 优先队列

        梳理下我们发现其实要让每个人得到最低期望,就要按照当前最贵的人来安排,这里的最贵指的就是cost[i] = wage[i] *1.0 / quality[i] 最高.cost[i]表示单价

        另外看数据量是1e4,最多使用nlogn,而且因为不要求连续 ,所以我们可以使用sort进行优化,(btw. 如果要求连续,就可以使用单调队列,而且单调队列是O(1),优先队列是O(logn),可以处理1e5),优化的思路也和 lc 2398类似(详见我的题解), 简单来说就是总花费就是 sum(quality)*max(单价), 所以按照quaility升序排序,这样越往后其实sum这一项就越大,因此我们要让max变小,也就是不选max对应的那一项,选第二大...

        参考代码如下: 时间复杂度O(nlogn) 空间复杂度O(n) 

class Solution {
public:double mincostToHireWorkers(vector<int>& quality, vector<int>& wage, int k) {int len=quality.size();vector<double> cost;vector<int> index;for(int i=0;i<len;i++){cost.push_back(wage[i]*1.0/quality[i]);index.push_back(i);}sort(index.begin(),index.end(),[&](const int a,const int b){if(quality[a]!=quality[b]) return quality[a]<quality[b];else return cost[a]<cost[b];});priority_queue<pair<double,int>> pq;//优先队列使用 pair 不需要 less<pair<...>>int sum=0,left=0;double ans=INT_MAX;for(int i=0;i<len;i++){int idx=index[i];sum+=quality[idx];pq.push({cost[idx],idx});if(i-left+1>=k){ans=min(ans,sum*pq.top().first);sum-=quality[pq.top().second];pq.pop();left++;}}return ans;}
};
// pq 优先队列 主要用 仿函数 或者 重载<
// 仿函数(functor),其实现就是类中实现一个operator(),这个类就有了类似函数的行为。
// 仿函数不是函数 而是类
// 仿函数主要用在模板类里面
// 一般这种不连续的题目不需要使用 deque 双端队列,

这篇关于857.雇佣K名工人的最低成本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/954324

相关文章

App Store最低版本要求汇总

1,自此日期起: 2024 年 4 月 29 日 自 2024 年 4 月 29 日起,上传到 App Store Connect 的 App 必须是使用 Xcode 15 为 iOS 17、iPadOS 17、Apple tvOS 17 或 watchOS 10 构建的 App。将 iOS App 提交至 App Store - Apple Developer 2,最低XCode版本 Xcod

降低安全违规行为发生率,节省人工监管成本的智慧园区开源了

智慧园区场景视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。 它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。充分利用现有的摄像头设备,无需大规模更换,降低成本同时提升系统的实施效率。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。 项目搭建地址 基础项目搭建地址:

工作效率的提升——如何高效沟通,有效降低沟通成本

如果你的上班时间是9点到18点,除去午休时间1.5h,剩余7.5h,那么你真正的有效工作时间又为多少呢? 如果你是一个财政/公司流程管理的知识产权审核人或销售许可申请负责人/销售/运营,沟通就是你的主要工作内容,如何更加清晰有效,直白明了,让不明事件原委的申请人或者新人,快速的了解需要自己准备或者更改的点,进而提高自己的工作效率呢? 如果你是测试人员/产品经理/开发人员,如何尽快让大家同频道沟

【ArcGIS Pro实操第二期】最小成本路径(Least-cost path)原理及实操案例

ArcGIS Pro实操第一期:最小成本路径原理及实操案例 概述(Creating the least-cost path)1.1 原理介绍1.2 实现步骤1.3 应用案例 2 GIS实操2.1 工具箱简介2.1.1 成本路径(Cost path)2.1.2 成本距离(Cost distance)2.1.2 路径距离(Path Distance) 2.2 案例: 参考 概述(Cre

零成本搞定静态博客——十分钟安装hugo与主题

文章目录 hugo介绍hugo安装与使用方式一:新建站点自建主题方式二:新建站点使用系统推荐的主题 hugo介绍 通过 Hugo 你可以快速搭建你的静态网站,比如博客系统、文档介绍、公司主页、产品介绍等等。相对于其他静态网站生成器来说,Hugo 具备如下特点: 1. 极快的页面编译生成速度。( ~1 ms 每页面) 2. 完全跨平台支持,可以运行在 Mac OS X, Linux

第一个100%开源的MoE大模型,7B的参数,1B的推理成本

尽管大语言模型 (LM) 在各种任务上取得了重大进展,但在训练和推理方面,性能和成本之间仍然需要权衡。 对于许多学者和开发人员来说,高性能的 LM 是无法访问的,因为它们的构建和部署成本过高。改善成本 - 性能的一种方法是使用稀疏激活混合专家 (MoE)。MoE 在每一层都有几个专家,每次只激活其中的一个子集(参见图 2)。这使得 MoE 比具有相似参数量的密集模型更有效,因为密集模型为每个

OceanBase 4.x 存储引擎解析:如何让历史库场景成本降低50%+

据国际数据公司(IDC)的报告显示,预计到2025年,全球范围内每天将产生高达180ZB的庞大数据量,这一趋势预示着企业将面临着更加严峻的海量数据处理挑战。随着数据日渐庞大,一些存储系统会出现诸如存储空间扩展难、性能下降甚至卡顿的情况,影响业务系统的正常运转,增加企业的数据处理成本。众多企业已经开始积极寻求如何在保证处理效率的同时,进一步降低数据处理成本。特别是在历史库(冷数据)场景中,这种需求显

无需更换摄像头,无需施工改造,降低智能化升级成本的智慧工业开源了。

智慧工业视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。 项目搭建地址 项目开源地址:yihecode-server 本项目基于ai场景而开发,提供算法模型管理、摄像头管

【ArcGIS Pro实操第一期】最小成本路径(Least-cost path)原理及实操案例

ArcGIS Pro实操第一期:最小成本路径原理及实操案例 概述(Creating the least-cost path)1.1 原理介绍1.2 实现步骤1.3 应用案例 2 GIS实操2.1 工具箱简介2.1.1 成本路径(Cost path)2.1.2 成本距离(Cost distance)2.1.2 路径距离(Path Distance) 2.2 案例: 参考 概述(Cre

打工人最适合用AI做自媒体的6个赛道!AI绘画学习路线及学习资料整合!

最近听说国内又有了一个振奋人心的消息,那就是国内的AI技术巨头们纷纷推出了以极低价格开放的大模型API服务,这无疑为自媒体创作者和独立开发者们带来了一股春风。 第一个大家用AI不需要花费太多的钱,像chatGPT plus每个月20美金,对于很多软件来说还是有点贵了,关键这个还限制V4的使用次数。 虽然国内的大模型在技术水平上可能尚未达到GPT4的高度,但对于大部分应用场景来说,已经足够满足需