CF1720D1.Xor-Subsequence (easy version)

传统题 时间 2000 ms 内存 512 MiB 7 尝试 22 已通过 8 标签

Xor-Subsequence (easy version)

题目描述

这是本题的简单版本;与困难版本相比,唯一差别是本版本保证 ai≤200a_i\le200。

给定长度为 nn 的整数数组 a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1}。选择一组严格递增的下标

0≤b0<b1<⋯<bm−1<n,0\le b_0<b_1<\cdots<b_{m-1}<n,

它表示数组的一个长度为 mm 的子序列。若对每个 0≤p<m−10\le p<m-1 都满足

$$a_{b_p}\mathbin{\oplus}b_{p+1}<a_{b_{p+1}}\mathbin{\oplus}b_p,$$

则称这组下标对应的子序列为美丽子序列。其中 ⊕\oplus 表示按位异或。

求最长美丽子序列的长度。

输入格式

第一行一个整数 tt(1≤t≤1051\le t\le10^5),表示测试组数。

对每组数据:

  • 第一行一个整数 nn(2≤n≤3⋅1052\le n\le3\cdot10^5);
  • 第二行 nn 个整数 a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1}(0≤ai≤2000\le a_i\le200)。

保证所有测试组的 nn 之和不超过 3⋅1053\cdot10^5。

输出格式

对每组数据输出一个整数,表示最长美丽子序列的长度。

样例

样例 1

输入:

3
2
1 2
5
5 2 4 3 1
10
3 8 8 2 9 1 6 2 8 3

输出:

2
3
6

在线编程 IDE

建议全屏模式获得最佳体验