AT_arc201_c [ARC201C] Prefix Covering
题目描述
由字符 `A` 和字符 `B` 组成的字符串被称作 AB 字符串。
一个 AB 字符串集 $X$ 是好的,当且仅当:
- 对于任意长度为 $10^{100}$ 的 AB 字符串,$X$ 中有至少一个串是它的前缀。
给你 $N$ 个不同的 AB 字符串 $S_1,S_2,\cdots,S_N$,对于每个 $k=1,2,\cdots,N$,求 $\{S_1,S_2,\cdots,S_k\}$ 有多少个子集是好的,对 $998244353$ 取模。
输入格式
第一行一个整数 $N(1\le N\le 2\times 10^5)$。\
接下来 $N$ 行,每行一个由 `A` 和 `B` 组成的字符串 $S_i$。
保证 $\sum_{i=1}^n \vert S_i\vert\le 5\times 10^5$。
输出格式
输出 $N$ 行,第 $i$ 行输出一个整数表示 $k=i$ 时的答案。
说明/提示
**样例 1 解释**
- $k=1$:没有子集是好的。
- $k=2$:有一个好的子集:$\{S_1,S_2\}$
- $k=3$:有两个好的子集:$\{S_1,S_2\},\{S_1,S_2,S_3\}$
- $k=4$:有五个好的子集:$\{S_1,S_2\},\{S_1,S_2,S_3\},\{S_1,S_2,S_4\},\{S_1,S_3,S_4\},\{S_1,S_2,S_3,S_4\}$