#CF2229H. 哇哦二进制串 / Wowee Binary String

哇哦二进制串 / Wowee Binary String

题目描述

给定一个只包含 01? 的字符串 ss

首先,你需要把每个 ? 独立替换为 01

之后,可以反复删除任意一个子串,只要这个子串中 1 的个数为偶数。删除后剩余部分会拼接起来。

求最终可能得到多少种不同的二进制串。答案对 998244353998244353 取模。

输入格式

每个测试包含多组测试数据。

第一行包含整数 tt1t1001 \le t \le 100)。

每组测试数据第一行包含整数 nn1n30001 \le n \le 3000),表示字符串长度。

第二行包含一个长度为 nn 的未完成二进制串 ss

保证所有测试数据的 nn 之和不超过 30003000

输出格式

对于每组测试数据,输出可以得到的不同二进制串数量,对 998244353998244353 取模。

样例 1

7
1
?
5
?????
5
?1001
8
10010001
7
00??10?
7
?1?0?1?
16
0??000?00??1?1?0
3
63
14
18
71
95
5399

约束与提示

  • 时间限制:2 秒

  • 内存限制:512 MB

  • 原题编号:CF2229H