#2600. 最长公共上升子序列

最长公共上升子序列

题目描述

若存在1i1<i2<<iNM1j<N1≤i _1<i_ 2<…<i_N≤M,1≤j<N,使Sj=AijS_j=A_{ij}Sj<Sj+1S_j<S_{j+1},则称序列S1,S2,,SNS _1,S _2,…,S_NA1,A2,,AMA _1,A _2,…,A_M的上升子序列。若zz既是xx的上升子序列,也是yy的上升子序列,则称zzxxyy的公共上升子序列。给定两个整数序列,求两者的最长公共上升子序列的长度。

输入格式

11行包含测试用例数量TT。每个测试用例都包含两个序列,对每个序列都用长度m1m500m(1≤m≤500)mm个整数ai231ai<231a_i(-2^{31}≤a_i<2^{31})描述。

输出格式

输出两个序列最长公共上升子序列的长度。

样例

1
5
1 4 2 5 -12
4
-12 1 2 4
2

来源

  • 算法竞赛进阶指南
  • HDU1423