蓝桥杯1599: 蓝桥杯算法训练VIP-Representative Sampling题解 (小明与“细胞与遗传学研究所”的合作)

初见你 算法基础篇 33 0
全网最全C++题库,助您快速提升编程技能!题库丰富多样,涵盖各个领域,让您在练习中不断成长!
来自ABBYY的小明有一个与“细胞与遗传学研究所”的合作,最近,研究所用一个新的题目考验小明,题目如下,有由n个细胞组成的一个集合每个细胞是一个由小写拉丁字母组成的字符串,科学家给小明提出的问题是从给定集合中选出一个大小为k的子集,使得所选子集的代表值最大。

来自ABBYY的小明有一个与“细胞与遗传学研究所”的合作。最近,研究所用一个新的题目考验小明。题目如下。 有由n个细胞组成的一个集合(不一定不同)每个细胞是一个由小写拉丁字母组成的字符串。科学家给小明提出的问题是从给定集合中选出一个大小为k的子集,使得所选子集的代表值最大。 小明做了些研究并得出了一个结论,即一个蛋白质集合的代表制可以用一个方便计算的整数来表示。我们假设当前的集合为{a1, ..., ak},包含了k个用以表示蛋白质的字符串。那么蛋白质集合的代表值可以用如下的式子来表示: 其中f(x, y)表示字符串x和y的最长公共前缀的长度,例如: f(" abc" ,  " abd" ) = 2  ,  f(" ab" ,  " bcd" ) = 0. 因此,蛋白质集合{" abc" ,  " abd" ,  " abe" }的代表值等于6,集合{" aaa" ,  " ba" ,  " ba" }的代表值等于2。 发现了这个之后,小明要求赛事参与者写一个程序选出,给定蛋白质的集合中的大小为k的子集中,能获得最大可能代表性值得一个子集。帮助他解决这个问题吧!

蓝桥杯1599: 蓝桥杯算法训练VIP-Representative Sampling题解
(小明与“细胞与遗传学研究所”的合作)-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
成为编程大师,不再是梦想!全网最全C++题库,助您开启编程新篇章。

标签: 蓝桥杯1599: 蓝桥杯算法训练VIP-Representative Sampling题解