从非前缀邻居的子集中找到最大收益值?

Posted

技术标签:

【中文标题】从非前缀邻居的子集中找到最大收益值?【英文标题】:Find the maximum benifit value from a sub-set of non-prefix neighbours? 【发布时间】:2017-02-10 18:31:50 【问题描述】:

1 每个字符串的长度最长可达 11 每个字符串只包含大写字母

示例 - 如果有 3 个字符串,A、B 和 AE,则输出为 200。 解释——S = "A", "B", "AE"

字符串 A 和 AE 是前缀邻居,所以它们不能都在 Mark 的 S 子集中。字符串 B 没有前缀邻居,所以我们将它包含在 Mark 的子集中。

为了最大化收益价值,我们选择 AE 和 B 作为我们的子集。然后,我们为所选子集计算以下收益值:

Benefit value of AE = 65+69 = 134
Benefit value of B = 66

总收益值 = 134 + 66 = 200。

【问题讨论】:

那么,确切的问题是什么?此外,如果您只是从某个地方复制问题,则可以提供一个归属于源的链接。 这是HackerRank contest的问题 【参考方案1】:

将输入词插入radix tree,拼接出非关键词。计算树的maximum-weight independent set;链接转到未加权算法,因此您需要将1 替换为此问题定义的节点权重。所有这些都是线性时间。

【讨论】:

以上是关于从非前缀邻居的子集中找到最大收益值?的主要内容,如果未能解决你的问题,请参考以下文章

我怎样才能有效地找到在预算范围内并最大化效用的活动子集?

贪心总结

枚举子集&高位前缀和

动态规划之背包

不能被 K 整除的两个和的最大子集

Ex 6_16 旧货销售问题_第七次作业