这道题的正解是 加权区间调度+0/1 背包二维 DP,但是我们用朴素解法 DFS 枚举每个项目选或不选也能在考试时拿到一定的分数。
题意:有 n 个项目,每个有开始时间 s、结束时间 e、工作量 w、收益 v。所选项目两两时间不重叠(若某项目在时刻 X 结束,可立刻接在 X 开始的项目),且总工作量不超过 maxEffort,求最大收益。
朴素做法:
你负责从 n 个候选项目中选出一些项目来执行。每个项目 i 包含四个信息:开始时间 startTime[i]、结束时间 endTime[i]、完成该项目所需投入的工作量 effort[i],以及完成后可以获得的收益 profit[i]。
项目团队总共能够投入的工作量上限为 maxEffort。任意两个在时间上存在重叠的项目不能同时执行;如果一个项目在时刻 X 结束,另一个项目从时刻 X 开始,则这两个项目可以连续承接。
请在总投入工作量不超过 maxEffort,并且所有已选项目在时间上互不重叠的前提下,计算能够获得的最大总收益。
约束条件:
2000。10^9。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册