【发布时间】:2012-05-07 22:30:19
【问题描述】:
我有一个项目清单,每个项目需要您整整两天才能完成,并且有一个截止日期。让 P[i].id、P[i].duedate 和 p[i].value 为项目的 id、项目的截止日期以及如果你获得的价值按时完成项目(在截止日期或之前)
编写一种算法,该算法将数组 A 作为输入,并返回您将执行哪些项目以及何时执行的计划,以最大化您获得的价值。 该算法的输出是一个数组 B,其中 B[i] 是您将在第 i 天工作的项目的 ID,i>= 1。
在特定日期不超过一个项目,除非您在截止日期前完成,否则您不会获得项目的价值,今天是第 0 天,您将从第 1 天开始处理这些项目(截止日期是整数),例如,如果一个项目的截止日期是5,你可以选择在第3天和第5天工作)
1- 编写算法。 2-证明算法是最优的? 3-算法的时间复杂度是多少?
【问题讨论】:
-
虽然这可能是一个有趣的算法,但你做了什么来解决它?你在哪里卡住了?
-
欢迎来到 SO! SO 社区不喜欢“gimme da codez”类型的“问题”。这可能就是您获得-1 票的原因。请尝试自己编写算法,如果遇到困难,请回来就一件事提出具体问题。
-
你的问题是?如果你愿意为我做作业,答案是否定的。但是,如果你用谷歌的 bin 打包算法,你会发现比我更慷慨......
标签: algorithm scheduling time-complexity