题目背景
Easy Counting Problem
身のうさを思ひしらでややみなまし そむくならひのなき世なりせば
题目描述
给定长度为 N 的 01 串 S,你可以做若干个操作,形如将长度为 3 的子串变成它们的中位数(注意是变成一个数字),问可以得到多少个不同的串。
答案对 998244353 取模。
输入格式
本题有多组数据。第一行输入数据组数 T。
对于每组数据,仅输入一个字符串 S 表示给定的 01 串。
输出格式
对每组数据输出一行一个整数,表示答案对 998244353 取模的结果。
4
1001
111000
101010
111000101010
3
7
3
25
提示
【样例解释】
可以证明,1001 仅能通过操作获得串 10,01,1001 ,因此样例第一组数据的答案为 3。
【数据范围】
对于 100% 的数据,满足 1≤N≤5×106,Si∈{0,1},1≤T≤5。
| 子任务 |
N≤ |
特殊性质 |
分数 |
| 1 |
10 |
|
5 |
| 2 |
50 |
10 |
| 3 |
300 |
| 4 |
2000 |
15 |
| 5 |
|
A |
5 |
| 6 |
B |
| 7 |
105 |
|
20 |
| 8 |
|
30 |
特殊性质 A:保证 Si=0。
特殊性质 B:保证 S2k=0、S2k+1=1。
字符串下标的编号从 1 开始。