HDU 3525 Orienteering (最长公共子串转化为最长上升子序列)
解题思路:首先预处理产生两个序列,向样例一样:A sequence is: 3 3 1 1 2 2 While The B sequence is : 3 2 3 1 2 1,求A和B的公共序列,效率只能 n*lgn,但是与普通公共序列不同的是,m<=10 ,也就是说有n种,每种m个,充分利用好这个条件,也就是对于B串的每个元素,A串能匹配的公共元素的只能是10个位置,而不是一个串去匹配,这就由原来的n^2降低到 n^10这样,但是还要更新,一开始用线段树,成段更细,超时了,因为线段树乘以的常数有点大,后
原创
2013-11-22 17:01:12 ·
1547 阅读 ·
0 评论