力扣1235.规划兼职工作

news2024/9/20 18:43:02

力扣1235.规划兼职工作

  • 动态规划 + 二分

    • 将所有工作按照结束时间排序
    • f[i]表示前i个工作可获取的最大收益
    • 状态转移:取第i个工作,f[i] = profit[i] + f[j],其中j为结束时间小于i的开始时间的最大数
    • 不取第i个工作,f[i] = f[i-1]
    • 可以通过二分找到 j
    • 优化:在这里插入图片描述
  •   class Solution {
      public:
          int jobScheduling(vector<int>& startTime, vector<int>& endTime, vector<int>& profit) {
              int n = startTime.size();
              //三元组
              vector<array<int,3>> jobs(n);
              for(int i=0;i<n;i++)
                  jobs[i] = {endTime[i],startTime[i],profit[i]};
              //按照结束时间排序
              ranges::sort(jobs,[](auto &a,auto &b){return a[0] < b[0];});
      
              vector<int> f(n+1);
              for(int i=0;i<n;i++)
              {
                  //j = upper_bound() - jobs.begin() - 1 + 1;
                  //以i的开始时间作为结束时间在jobs里二分
                  int j = upper_bound(jobs.begin(),jobs.begin()+i,array<int,3>{jobs[i][1],INT_MAX}) - jobs.begin();
                  f[i+1] = max(f[i],f[j] + jobs[i][2]);
              }
              return f[n];
          }
      };
    

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

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

相关文章

CSS中的align-content属性:实现垂直居中的新方式

引言 在CSS的漫长发展历程中&#xff0c;垂直居中一直是一个令人头疼的问题。不过&#xff0c;好消息是&#xff0c;到了2024年&#xff0c;CSS终于引入了一种新的方式来实现垂直居中&#xff0c;那就是使用align-content属性。本文将详细介绍align-content的使用方式&#xff…

SYN6288语音合成模块的简单应用

文章目录 一、前言二、硬件1.原理图1.1 对外引脚说明1.2 电源供电参考电路1.3 复位电路和状态指示电路1.4 扬声器输出1.5 外接高速晶振 三、软件1.系统构成框图2.通讯方式&#xff1a;异步串行通讯&#xff08;UART&#xff09;接口3.芯片回传4. 通信帧定义及通信控制4.1 命令帧…

【Eureka】搭建Eureka Server,实现服务注册和服务发现

1. Eureka介绍 Eureka是NetflixOSS套件中关于服务注册和发现的解决⽅案.SpringCloud对Eureka进⾏了集成,并作为优先推荐⽅案进⾏宣传,虽然⽬前Eureka2.0已经停⽌维护,新的微服务架构设计中,也不再建议使用,但是⽬前依然有⼤量公司的微服务系统使⽤Eureka作为注册中⼼. 官方文…

指尖疯2024年下半年软考报名快报:赛程过半,你报名成功了吗?

周一早上好&#xff0c;新的一周&#xff0c;新的9月&#xff01; 特别提醒&#xff1a;青海和上海&#xff0c;这两个“海”今天截止报名&#xff01;已经结束报名的地区已经增长到了13个&#xff0c;目前2024年下半年软考报名已经过半&#xff0c;考虑到还有审核时间以及报名…

原生冻结进程分析(U)

一、概要 1.定义&#xff1a; 当应用切换到后台并且没有其他活动时&#xff0c;系统会在一定时间内通过状态判断&#xff0c;将进程 ID 迁移到冻结的 cgroup 节点上&#xff0c;实现冻结 CACHE 应用。这项功能可以减少活跃缓存应用在后台存在时所消耗的 CPU 资源&#xff0c;从…

Nginx安全性配置

文章目录 引言I Nginx简单的安全性配置禁止特定的HTTP方法限制URL长度禁止某些用户代理限制请求速率连接限制禁止访问某些文件类型II 常见的安全规则防御CC攻击User-Agent过滤GET-URL过滤GET-参数过滤POST过滤(sql注入、xss攻击 )引言 Nginx本身并不具备复杂的防火墙规则定制…

NASA数据集:ASTER全球数字海拔模型(GTEM)V003

ASTER Digital Elevation Model V003 简介 ASTER全球数字海拔模型&#xff08;GTEM&#xff09;第3版&#xff08;ASTG TM&#xff09;提供了地球陆地区域的全球数字海拔模型&#xff08;TEM&#xff09;&#xff0c;空间分辨率为1角秒&#xff08;赤道处水平位置约30米&…

k8s集群环境搭建(一主二从--kubeadm安装)

前置条件 版本&#xff1a;CentOS Linux release 7.5.1804 (Core) 内存&#xff1a;2G CPU&#xff1a;2 主机名解析 vim /etc/hosts 192.168.109.100 master 192.168.109.101 node1 192.168.109.102 node2时间同步&#xff0c;这里直接使用chronyd服务从网络同步时间syste…

企业产品推广系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;活动资讯管理&#xff0c;产品分类管理&#xff0c;产品信息管理&#xff0c;用户分享管理&#xff0c;留言板管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页…

C语言 | Leetcode C语言题解之第388题文件的最长绝对路径

题目&#xff1a; 题解&#xff1a; #define MAX(a, b) ((a) > (b) ? (a) : (b))int lengthLongestPath(char * input){int n strlen(input);int pos 0;int ans 0;int * level (int *)malloc(sizeof(int) * (n 1));memset(level, 0, sizeof(int) * (n 1));while (po…

LabVIEW电机多次调用

在LabVIEW中&#xff0c;为实现对多个电机的独立控制&#xff0c;工程师可以采用可重入VI、动态VI调用、多任务结构或面向对象编程等方法。每种方法都有其优点和适用场景&#xff0c;选择合适的方法能有效提升系统的性能和可维护性。 在LabVIEW中&#xff0c;如果需要多次调用…

WPF 手撸插件 六 消息总线

虽然暂时不知道该如何将消息总线集成到插件系统中&#xff0c;但是让我先学习起来吧&#xff0c;本文主要来说说我最近学习的Reface.EventBus Reface.EventBus有两个版本&#xff0c;分别支持.Net Framework和 .Net Core。 我们这里先说支持.Net Framework的版本&#xff0c;…

007.Python爬虫系列_初识爬虫

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数…

javaSSMmysql宠物领养系统的设计与实现26292-计算机毕业设计项目选题推荐(附源码)

摘 要 如今&#xff0c;随着人们生活水平不断提高&#xff0c;人们的生活在物质满足的基础上&#xff0c;更多的人将生活的重点放在追求精神享受的过程中。于此同时&#xff0c;Internet铺天盖地的普及&#xff0c;使得这样的人纷纷通过Internet的方式去寻找精神的满足。然而领…

java+Springboot+mysql小区维修管理平台41866-计算机毕业设计项目选题推荐(免费领源码)

摘 要 随着计算机技术的飞速发展&#xff0c;计算机在小区维修管理中应用的普及&#xff0c;利用计算机在实现小区维修的管理势在必行。当今社会正快速向信息化社会前进&#xff0c;信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。目前…

Web入门-06.HTTP协议-协议解析

浏览器发起HTTP协议请求&#xff0c;服务端通过ServerSocket接收并交给一个Socket对象&#xff08;管道&#xff09;&#xff0c;然后解析浏览器的请求&#xff0c;并通过Socket管道向浏览器响应。 代码如下&#xff1a; package com.gjw;import java.io.*; import java.net…

学习之git的常用命令

git常用命令 设置用户签名 基本语法&#xff1a; 1.1 git config --global user.name 用户名 1.2 git config – global user.email 邮箱 1.3 cat ~/.gitconfig 1.4 git init 初始化本地库 在D盘新建一个文件夹—进入文件夹–右键–点击&#xff08;open git base here) …

低代码技术新趋势——逆向工程

低代码的下一个趋势&#xff0c;应该是“逆向工程”&#xff0c;用户可以通过 可视化界面&#xff0c;逆向输出全栈工程代码。而标准的工程代码同样可以编译为支持可视化分析、编辑、调整的“无代码”程序。前一个是解释性语言向编译性语言的逆向工程。后者则是一个理论实践应用…

华为OD机试真题 - 跳马 - 广度优先搜索BFS(Python/JS/C/C++ 2024 D卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、…

Java SpringBoot Vue开发的公司单位考勤管理系统,一键导出考勤数据,智能分析员工出勤,提高管理效率

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…