SP27337 LISTREE - LIS and tree

题目描述

给定一棵有 **N** 个顶点的树。每个顶点有一个唯一的编号,范围在 **\[1, N\]** 内。考虑这棵树上的所有简单路径。对于每条简单路径,可以写出由路径上连续顶点组成的序列。对于每个这样的序列,可以找到其最长上升子序列(不一定连续)。找出所有最长上升子序列中最长的一个,并输出其长度。

输入格式

每个输入文件的大小不超过 2 MB。 输入的第一行包含一个整数 **T (1 ≤ T ≤ 100)**,表示数据组数。 每组数据的第一行包含一个整数 **N (1 ≤ N ≤ 1000)**,表示树的顶点数。 接下来的 **N - 1** 行中,每行包含两个整数 **a** 和 **b (1 ≤ a, b ≤ N)**,表示顶点 **a** 和顶点 **b** 之间有一条边。

输出格式

对于每组数据,输出一个整数:所有简单路径中最长上升子序列的长度。

说明/提示

- 对于 10% 的数据,1 ≤ N ≤ 10。 - 对于 30% 的数据,1 ≤ N ≤ 100。 - 对于 100% 的数据,1 ≤ N ≤ 1000。 - 1 ≤ T ≤ 100。