A. Hamon Odyssey(and)

    传统题 文件IO:and 1000ms 256MiB

Hamon Odyssey(and)

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

读写要求

本题采用文件读写,请在提交代码时使用正确的文件读写方式,否则会导致 RE

输入:and.in

输出:and.out

题目描述

Jonathan 正在与 DIO 的吸血鬼喽啰们战斗。共有 nn 个吸血鬼,它们的战斗力分别为 a1,a2,,ana_1,a_2,\dots,a_n\def\and {{\,\texttt{&}\,}}

(l,r)(l,r) 表示由下标从 llrr 的吸血鬼组成的一个小队。Jonathan 意识到,任意一个小队的战斗力取决于它最薄弱的环节,也就是按位与。更形式化地说,小队 (l,r)(l,r) 的战斗力定义为:

f(l,r)=al&al+1&al+2&&arf(l,r)=a_l \& a_{l+1} \& a_{l+2} \& \ldots \& a_r

这里,&\& 表示按位与运算。

因为 Jonathan 想要尽快击败这些吸血鬼喽啰,所以他会把所有吸血鬼划分成若干个连续的小队,使得每个吸血鬼恰好属于一个小队,并且所有小队的战斗力之和最小。

在所有使战斗力之和最小的划分方案中,他希望找到小队数量最多的一种。

给定这 nn 个吸血鬼各自的战斗力,请你求出:在所有战斗力之和最小的划分方式中,最多可以划分出多少个小队。

输入格式

第一行包含一个整数 tt1t1041 \leq t \leq 10^4),表示测试数据组数。接下来依次描述每组测试数据。

每组测试数据的第一行包含一个整数 nn1n21051 \leq n \leq 2 \cdot 10^5),表示吸血鬼的数量。

每组测试数据的第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n0ai1090 \leq a_i \leq 10^9),表示每个吸血鬼各自的战斗力。

保证所有测试数据中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每组测试数据,输出一个整数,表示在所有能使小队战斗力之和最小的划分方式中,最多可以划分出多少个小队。

输入输出样例

3
3
1 2 3
5
2 3 1 5 2
4
5 7 12 6
1
2
1

说明/提示

在第一组测试数据中,最优方案是把全部 nn 个吸血鬼划分为一个小队。因此:

f(1,3)=1&2&3=0f(1,3)=1 \& 2 \& 3=0

在第二组测试数据中,最优方案是划分为 22 个小队,分别为 (2,3,1)(2,3,1)(5,2)(5,2)。因此:

f(1,3)+f(4,5)=(2&3&1)+(5&2)=0+0=0f(1,3)+f(4,5)=(2 \& 3 \& 1)+(5 \& 2)=0+0=0

周赛#1028(div2)

未参加
状态
已结束
规则
IOI
题目
5
开始于
2026-5-30 19:00
结束于
2026-5-30 20:30
持续时间
1.5 小时
主持人
参赛人数
18