【发布时间】:2021-09-03 19:04:42
【问题描述】:
假设有 n 个任务和一组 m 人,每个人可以完成一系列任务(Ti 到 Tj)。完成每项任务的成本是 k* no。完成该任务的人。如果可能的话,至少完成一次所有任务的最低成本是多少。 我觉得这是一个动态规划问题,但我无法达到最优方程。有人可以帮我找到正确的方程式或上面的代码块。为了更好地理解,我附上了几个例子。
n:4
m:3
Range of tasks for m people: {(3,4);(1,2);(2,3)}
Answer: m1 & m2 can complete all 4 tasks so cost is 4.
Ex2:
n:4
m:2
Range of tasks for m people: {(1,3);(2,4)}
Answer: m1 & m2 are both required to complete all 4 tasks so cost is 6.
【问题讨论】:
-
什么是
k?根据示例,它似乎等于 1。 -
'1' 如果一个任务最多完成 k 次,那么它贡献的值就是 k。
-
所以,在这种情况下,成本是
k = number of people...,没有*,否则我错过了什么。 -
no k 始终为 1 ,即 ONE 人完成一项任务的成本为 ONE,如果多人执行,则为该次数。
-
您可以将此问题表述为“如何使用一组重叠最少的范围来覆盖一个范围?”
标签: algorithm data-structures dynamic-programming greedy