#P4646. 第1题-无限循环

第1题-无限循环

题目内容

小美有一个长度为 nn 的数组 {a1,a2,...,ana_1,a_2,...,a_n} 她为了研究这个数组做出了个大胆的决定。现在,将与初始数组完全相同的数组连续拼接到其末尾,共拼接 10910^9 。设拼接完成后的新数组记为 aa' ,则新数组的长度为 n×(109+1)n×(10^9+1),并且对于任意的 n<in×(109+1)n<i≤n×(10^9+1),都有 ai=aina_i'=a'_{i-n}

请你计算新数组。aa' 的最长严格递增子序列的长度,并输出这个长度。

【名词解释】

子序列:从原序列中删除任意个(可以为零、可以为全部)元素后按原相对顺席得到的新序列。

严格递增子序列:子序列中相邻元素的值严格递增,即若子序列为 {b1,b2,...,bkb_1,b_2,...,b_k},则对所有 1ik1≤i<k,都有 bibi+1b_i≤b_{i+1}

输入描述

每个测试文件均包含多组测试数据,第一行输入一个整数 T(1T104)T(1≤T≤10^4)代表数据组数,每组测试数据描述如下:

第一行输入一个整数 n(1n2×105)n(1≤n≤2×10^5),表示原数组的长度;

第二行输入 nn 个整数 a1,a2...,an(1ain)a_1,a_2,...,a_n(1≤a_i≤n),表示原数组的元素

除此之外,保证单个测试文件的 nn 之和不超过 2×1052×10^5

输出描述

对于每一组测试数据,新起一行,输出一个整数,表示新数组的最长严格递增子序列长度。

样例1

输入

2
4
1 1 2 3
5
4 5 3 3 4

输出

3
3

说明

在这组测试数据中:

  • 对于第 11 组,最终最长严格递增子序列为 {1,2,31,2,3}