#P10920. 宇宙射线

宇宙射线

题目背景

感谢

https://www.luogu.com.cn/user/399762
据。

宇宙射线天天乱改东西/fn。

题目描述

有一个长度为 nn 的二进制串 ss,你需要找到一个最长的长度为偶数的子串,使得它的前半部分和后半部分完全相同。

但是因为宇宙射线攻击了这个串,有一些位置的值变得未知了。

你可以把未知的值视为 0011 的任意一个数,求出在这种情况下这个最长子串的长度。

本题有多组测试。

输入格式

第一行一个正整数 tt,表示测试组数。

接下来 2t2t 行,每两行表示一组测试数据,每组测试数据第一行一个正整数 nn,表示字符串的长度,接下来一行一个长度为 nn 的字符串 ss

输出格式

tt 行,每行一个非负整数,表示第 ii 组测试的答案,由于这个串长一定是偶数,所以你只用输出它的长度除以 22 的结果。

2
10
0110011010
6
01?0?0
4
3

提示

本题采用捆绑测试。

Subtask\text{Subtask} 分数 n,tn,t 特殊性质
11 1010 n10,t=500n\le 10,t=500 无特殊限制
22 n1000,t=1n\le1000,t=1
33 n1000,t=1000n\le 1000,t=1000 AA
44 无特殊限制
55 n104,t=10n\le 10^4,t=10
66 n104,t=50n\le 10^4,t=50
77 2020 n5×104,t=2n\le 5\times 10^4,t=2
88 1515 n105,t=1n\le 10^5,t=1
99 55 n105,t=5n\le 10^5,t=5

AA:保证 ss 中不存在字符 ?

保证字符串只由 0,1,? 三种字符组成,1n1051\le n\le 10^5