摘要: 又是训练指南上的一道经典题~~ http://uva.onlinejudge.org/external/106/10635.html题意:有两个长度分别为p+1和q+1的序列,每个序列各个元素互不相同,且都是1~n^2的整数。求俩序列的LCS。分析:LCS的O(pq)复杂度显然太慢。注意到“每个序列各个元素互不相同,且都是1~n^2的整数”,所以有个巧妙的转换,把A中的元素重新按1~p+1编号,同时B也相同的映射编号,由于A为递增序列,所以LCS就是B中最长递增子序列,即LIS.这样就转换成求B的LIS问题,可以在O(nlogn)的时间内解决。LIS:设dp[i]为以A[i]结尾的最长上升子序 阅读全文
posted @ 2012-11-06 20:47 發_ 阅读(324) 评论(0) 推荐(0) 编辑