从非前缀邻居的子集中找到最大收益值?
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
替换为此问题定义的节点权重。所有这些都是线性时间。
【讨论】:
以上是关于从非前缀邻居的子集中找到最大收益值?的主要内容,如果未能解决你的问题,请参考以下文章