题目:  
一个DNA 序列X 是字符集{G, T, A,C}上的串,其上有大量信息冗余。设x 是X 的子串,x 及其冗余形式在X 内在出现的起、止位置构成了一系列等长区间[p1,q1],…,[pm,qm]。试设计一个贪心算法找出[p1,q1],…,[pm,qm]中互不相交的区间的最大个数,即确定x 的独立冗余度。问题:贪心算法懂点,这个题意理解不了啊,求高手解答!!!谢谢啊!!!

解决方案 »

  1.   

    我的观点是这样的:
    假设有这样一个DNA序列:GTACCCTACGTACACTGAGAGCGTACACTG(为了方便下面的解释,此处的DAN序列用字符数组S[]来表示)
    其中含有冗余信息的意思就是:可能存在这样的字符串:S[2~6]、S[1~5]、S[3~7]、S[8~12]、S[7~11]等等,但是他们的长度一致,题目让你统计不相交的字符串个最大个数(比如说:S[2~6],S[7~11]就不相交),这个问题类似于贪心算法中的活动安排,先按照每一个字符串的最后下边进行排序,然后就跟活动安排完全一致了。
      

  2.   

    LZ可以看看这个http://blog.csdn.net/wangdong20/article/details/10834159