CF1325B CopyCopyCopyCopyCopy
题目描述
Ehab 有一个长度为 $n$ 的数组 $a$。他现在有足够的空闲时间,将原数组复制 $n$ 次,首尾相连,组成一个新数组。请问新数组的最长严格递增子序列的长度是多少?
一个序列 $a$ 是数组 $b$ 的子序列,如果 $a$ 可以通过删除 $b$ 中的若干(可能为零或全部)元素得到。一个数组的最长递增子序列是指其元素严格递增的最长子序列。
输入格式
第一行包含一个整数 $t$,表示需要解决的测试用例数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$($1 \le n \le 10^5$),表示数组 $a$ 的元素个数。
第二行包含 $n$ 个用空格分隔的整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$),表示数组 $a$ 的元素。
所有测试用例中 $n$ 的总和不超过 $10^5$。
输出格式
对于每个测试用例,输出将数组 $a$ 首尾相连复制 $n$ 次后所得新数组的最长严格递增子序列的长度。
说明/提示
在第一个样例中,新数组为 $[3,2,\textbf{1},3,\textbf{2},1,\textbf{3},2,1]$。最长递增子序列已用粗体标出。
在第二个样例中,最长递增子序列为 $[1,3,4,5,9]$。
由 ChatGPT 4.1 翻译