我是新来的,但在我的课本中发现了问题。不幸的是,它没有答案,所以我想知道是否有人可以提供帮助。问题是:



我知道暴力破解方法只是在列表中搜索最大值j次,但这不是很有帮助。我认为有一种动态编程方法,但是我的尝试并不能总是提供正确的答案。任何帮助,将不胜感激!

最佳答案

令V [e,k]为向e和e的直接和间接下属发出k个邀请的最大值,而忽略e的所有直接和间接主管的值(value)。如果雇员e没有下属,则基本情况为

V[e, k], k = 0 = 0
V[e, k], k > 0 = val(e).

如果员工e0有两个下属e1和e2,则重复发生为
V[e0, k], k = 0 = 0
V[e0, k], k > 0 = max over j of val(e0) + V[e1, j] + V[e2, k - j].

多于两名员工的幼稚卷积太慢了,因此我们必须先对第一对进行卷积,然后再对其余两卷进行卷积。我将省略细节。

关于algorithm - 邀请人们参加聚会的最佳算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26890197/

10-09 14:49