1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

  • 本题是“带容量约束的加权区间调度”问题: 既要保证所选项目在时间上两两不重叠(若一个在时间 X 结束,可接 X 开始的项目),又要满足总工作量不超过 maxEffort,并使收益最大。

  • 做法:

    1. 将项目按结束时间从小到大排序,记排序后第 i 个项目为 (s[i], e[i], w[i], v[i]),分别是开始/结束/工作量/收益。
    2. 预处理每个项目 i 的“前驱” pre[i]:排序后在 i 之前、且 end <= s[i] 的最后一个项目下标(不存在则为 -1)。可用二分在结束时间数组上找到。
    3. 二维动态规划(DP):

P4281.第3题-制定项目计划

    1000ms Tried: 149 Accepted: 28 Difficulty: 7 所属公司 : 华为
    算法与标签>动态规划

题目内容

一个项目经理需要对项目进行计划制定,现有 nnn 个项目,每个项目有一个开始时间 startTime[i]startTime[i]startTime[i]、结束时间 endTime[i]endTime[i]endTime[i] 以及所需投入的人力 effort[i]effort[i]effort[i] ,完成每个项目能获得的收益为 profit[i]profit[i]profit[i] 。

项目团队可以投入的最大工作量为 maxEffortmaxEffortmaxEffort ,并且在时间上重叠的项目不能同时开展。

如果一个项目在时间 XXX 结束,可以立刻承接在时间 XXX 开始的新项目。

请编写一个函数,计算在不超过可以投入最大工作量为 maxEffortmaxEffortmaxEffort 的情况下,合理安排计划获得的最大收益。

输入描述

函数包含 555 个参数,前四个数组参数,长度相同且 ≤2000≤ 2000≤2000,数值均 ≤109≤10^9≤109 ,555 个参数分 555 行输入,数组数据以 ",,," 分割,示例如下:

1、开始时间数组 startTime,0≤startTime,0≤startTime,0≤ 数组长度及数据 ≤2000≤2000≤2000 ,示例: 111 555 999 ;

2、结束时间数组 endTime,0≤endTime,0≤endTime,0≤ 数组长度及数据 ≤2000≤2000≤2000 ,示例: 333 777 111111 ;

3、所需投入的工作量 effort,0≤effort,0≤effort,0≤ 数组长度及数据 ≤2000≤2000≤2000 ,示例:202020 303030 101010 ;

4、以及获得收益数组 profitprofitprofit ,0≤0≤0≤ 数组长度及数据 ≤2000≤2000≤2000 ,示例:202020 808080 303030 ;

5、可以投入最大工作量 maxEffort,0≤maxEffort≤1000maxEffort,0 ≤ maxEffort ≤1000maxEffort,0≤maxEffort≤1000 ,示例:404040

输入完整示例如下:

1,5,91,5,91,5,9

3,7,113,7,113,7,11

20,30,1020,30,1020,30,10

20,80,3020,80,3020,80,30

404040

输出描述

在不超过每日工作量上限的情况下,安排合理计划获得最大收益

样例1

输入

2 4 7
6 8 11
20 20 20
30 90 30
40

输出

90

说明

选择第二个项目,由于时间与其他项目时间重叠

无法选取其他项目,总精力为 20<=4020<=4020<=40 ,总收益为 909090

样例2

输入

1 5 9
3 7 11
20 30 10
20 80 30
40

输出

110

说明 选择第二个和第三个项目,总精力为 30+10=40<=4030+10=40<=4030+10=40<=40 ,总收益为 80+30=11080+30=11080+30=110

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 76ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?