#P15459. 【MX-X25-T3】『FeOI-5』qjyxfgms

【MX-X25-T3】『FeOI-5』qjyxfgms

说明

给出长度为 nn 的 01 序列 aa

你可以对这个序列进行若干次操作。每次操作可以选择一个位置 i(1in2)i(1\le i\le n-2),并将 ai,ai+1,ai+2a_i,a_{i+1},a_{i+2} 赋值为 mex({ai,ai+1,ai+2})mex(\{a_i,a_{i+1},a_{i+2}\})

你需要求出,使得所有位置都变成 0 的最小操作次数。

其中 mex(S)mex(S) 表示集合 SS 中最小未出现过的自然数。

输入格式

本题包含多组测试数据。

第一行,一个正整数 TT,表示测试数据组数。对于每组测试数据:

  • 第一行,一个正整数 nn
  • 第二行,nn 个整数 a1,,ana_1, \ldots, a_n,其中 ai{0,1}a_i\in\{0,1\}

输出格式

对于每组测试数据,输出一行,一个非负整数,表示答案。

2
6
1 1 0 1 0 1
4
1 1 1 1

3
3

提示

【样例解释 #1】

对于第一组测试数据:

  • 11 次操作选择位置 33,其中 mex({a3,a4,a5})=mex({0,1,0})=2mex(\{a_3,a_4,a_5\})=mex(\{0,1,0\})=2,序列变为 [1,1,2,2,2,1][1,1,2,2,2,1]
  • 22 次操作选择位置 11,其中 mex({a1,a2,a3})=mex({1,1,2})=0mex(\{a_1,a_2,a_3\})=mex(\{1,1,2\})=0,序列变为 [0,0,0,2,2,1][0,0,0,2,2,1]
  • 33 次操作选择位置 44,其中 mex({a4,a5,a6})=mex({2,2,1})=0mex(\{a_4,a_5,a_6\})=mex(\{2,2,1\})=0,序列变为 [0,0,0,0,0,0][0,0,0,0,0,0]

总共使用 33 次操作使得所有位置都变成 0。可以证明不存在次数更少的操作方案。

【数据范围】

本题采用捆绑测试。

对于所有测试数据,保证:

  • 1T1061\le T\le 10^6
  • 3n,n1063\le n,\sum n\le 10^6
  • ai{0,1}a_i\in\{0,1\}

::cute-table{tuack}

子任务编号 nn\le 特殊性质 分数
11 1515 21
22 10210^2 A 18
33 10310^3 B 24
44 10610^6 C 17
55 20

特殊性质 A:n33×107\sum n^3\le 3\times 10^7

特殊性质 B:n23×107\sum n^2\le 3\times 10^7

特殊性质 C:保证满足 ai=0a_i=0 的位置 ii 数量不超过 1515