#P10877. 「KDOI-07」n1gr tS0i

「KDOI-07」n1gr tS0i

题目背景

众所周知,小 T 不喜欢 01 串问题,于是小 R 出了另一个有关 01 串的题目:

题目描述

有一个长度为 nn01\tt 01SS,你要对 SS 进行 恰好 nn 次操作。每次操作选择 1l<rn1 \leq l \color{red}< \color{normal} r \leq n,然后你按位翻转 SlrS_{l\dots r}。这里的按位翻转指,SlrS_{l\dots r} 内所有 0\tt 0 同时变为 1\tt 1,且所有 1\tt 1 同时变为 0\tt 0

nn 次操作后,所有可能不同的 SS 的个数。因为答案可能很大,所以请对 998244353998244353 取模。

输入格式

本题有多组数据。

第一行一个整数 TT 描述数据组数。对于每组数据:

  • 第一行一个整数 nn
  • 接下来一行,一个长度为 nn01\tt 01SS

输出格式

对于每组数据,一行一个整数,表示答案,对 998244353998244353 取模后的结果。

2
2
01
30
101001001010100110101101011110

1
75497471

提示

样例解释

  • 对于 n=2n = 2S=01S = \tt 01,我们会发现每次操作只能选择 l=1,r=2l = 1, r = 2 即反转整串,因此 22 次操作后只能得到 01\tt 01,故答案为 11
  • 对于第二组数据,暂时不能给你一个明确的答复。

数据规模与约定

本题采用捆绑测试。

Subtask\text{Subtask} nn\le 分数
11 44 3030
22 10510^5 7070

对于所有数据,保证 2n1052 \leq n \leq 10^5n106\sum n \leq 10^61T1041 \leq T \leq 10^4