#Lutece1006. 最长上升子序列
最长上升子序列
Migrated from Lutece 1006 最长上升子序列
All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.
Description
一个数的序列,当 的时候,我们称这个序列是上升的。对于给定的一个序列,我们可以得到一些上升的子序列,这里。比如,对于序列,有它的一些上升子序列,如, 等等。这些子序列中最长的长度是,比如子序列。
你的任务,就是对于给定的序列,求出最长最小的上升子序列。所谓最长最小的子序列,是指若有多个最长子序列时,存在一个子序列,对其它任意最长子序列,有前个元素相等, 而,则是最长最小的上升子序列。
Input
有多组测试数据。输入的第一行是整数(),表示测试数据的组数。每组测试数据占一行,第一个数是序列的长度 ()。紧随其后是序列中的 个整数,该行每个数后均有一个空格,这些整数的取值范围都在 到。该行没有其它多余的符号。
Output
对应每组输入,先输出最长最小的上升子序列长度,再输出最长最小的上升子序列,占一行。每个数后应有一个空格,该行不能有其它多余的符号。
Samples
1
7 1 7 3 5 9 4 8
4 1 3 4 8
Resources
2017 UESTC Training for Dynamic Programming