摘要: 当数组长度p,q范围高达10000所以O(pq)的算法会超时。注意到序列中所有元素各不相同,因此可以把A串重新编号为1~p,例如:A={1754832},B={14356287} 把A重新编号后:A={1234567},B={14630752}其中0表示在A中没有出现过,因为没有出现过所以就不用考虑了,肯定不在最长公共子序列中。对于新的A,B序列只需求B的最长递增子序列即可。因为n的范围较大,所以需要用到O(nlogn)的方法求最长递增子序列(二分)。 1 #include<stdio.h> 2 #include<string.h> 3 4 const int MAX 阅读全文
posted @ 2012-12-10 22:28 尔滨之夏 阅读(273) 评论(0) 推荐(0) 编辑