A. 最长子序列

    传统题 1000ms 256MiB

最长子序列

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

样例下载

【问题描述】

一个序列 AA 包含 nn 个元素 A1,A2,,An A_1, A_2, …… , A_n

现在让你求它的一个最长子序列,子序列中任意两个相邻元素的按位与的值不为零。

形式化地,假设最长子序列的长度为 mm,则所求最长子序列 Ap[1],Ap[2],,Ap[m] A_{p_{[1]}}, A_{p_{[2]}}, …… , A_{p_{[m]}} 满足 1p[1]<p[2]<<p[m]n1 ≤ p_{[1]} < p_{[2]} < …… < p_{[m]} ≤ n Ap[i]&Ap[i+1]0A_{p_{[i]}} \& A_{p_{[i+1]}} ≠ 0 (1p[i]<m)( 1 ≤ p_{[i]} < m)。其中 &\& 表示按位与。

请你输出满足条件的最长子序列的长度,即 mm 的值。如果不存在满足条件的子序列,则输出 0 .

【输入】

共两行:

第一行:一个整数 nn

第二行:nn 个整数 Ai A_i

【输出】

一个整数,表示答案。

【样例输入】

3
1 2 3

【样例输出】

2

【样例解释】

长度为 2 的子序列 1, 3 或 2, 3 均满足条件。

长度为 3 的子序列 1, 2, 3 不满足条件,因为 1 & 2 = 0.

【数据范围】

40% 的数据,1n103,1 ≤ n ≤ 10^3, 0Ai2×1090 ≤ A_i ≤ 2 × 10^9

100% 的数据,1n105,1 ≤ n ≤ 10^5, 0Ai2×1090 ≤ A_i ≤ 2 × 10^9

2026-04-18

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-4-18 7:20
结束于
2026-4-18 10:50
持续时间
3.5 小时
主持人
参赛人数
16