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

    ID: 306 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>第九章_动态规划_第三节_动态规划经典问题

最长公共子上升序列

Description

<!DOCTYPE html> <html> <body>

最长公共上升子序列

熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们要研究最长公共上升子序列了。

小沐沐说,对于两个串A,B,如果它们都包含一段位置不一定连续的数字,且数字是严格递增的,那么称这一段数字是两个串的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。

奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子序列。不过,只要告诉奶牛它的长度就可以了。

输入格式

每个序列用两行表示,第一行是长度M(1≤M≤500),第二行是该序列的M个整数Ai(−231≤Ai<231)。

输出格式

在第一行,输出两个序列的最长上升公共子序列的长度L。在第二行,输出该子序列。如果有不止一个符合条件的子序列,则输出任何一个即可。

样例

输入

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

输出

2
1 4
    
</body> </html>

Hint

如果不用打印路径,M=5000可以做吗? 这题的SPJ有点问题,先别提交

Source

第九章_动态规划_第三节_动态规划经典问题