AT_arc201_c.[ARC201C] Prefix Covering

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

由字符 A 和字符 B 组成的字符串被称作 AB 字符串。

一个 AB 字符串集 XX 是好的,当且仅当:

  • 对于任意长度为 1010010^{100} 的 AB 字符串,XX 中有至少一个串是它的前缀。

给你 NN 个不同的 AB 字符串 S1,S2,⋯ ,SNS_1,S_2,\cdots,S_N,对于每个 k=1,2,⋯ ,Nk=1,2,\cdots,N,求 {S1,S2,⋯ ,Sk}\{S_1,S_2,\cdots,S_k\} 有多少个子集是好的,对 998244353998244353 取模。

输入格式

第一行一个整数 N(1≤N≤2×105)N(1\le N\le 2\times 10^5)。
接下来 NN 行,每行一个由 A 和 B 组成的字符串 SiS_i。

保证 ∑i=1n∣Si∣≤5×105\sum_{i=1}^n \vert S_i\vert\le 5\times 10^5。

输出格式

输出 NN 行,第 ii 行输出一个整数表示 k=ik=i 时的答案。

输入输出样例

  • 输入#1

    6
    A
    B
    BA
    BB
    AA
    AB

    输出#1

    0
    1
    2
    5
    10
    25
  • 输入#2

    10
    A
    B
    AABA
    AABB
    AB
    AA
    AAA
    BB
    AAB
    BA

    输出#2

    0
    1
    2
    4
    8
    20
    41
    82
    170
    425

说明/提示

样例 1 解释

  • k=1k=1:没有子集是好的。
  • k=2k=2:有一个好的子集:{S1,S2}\{S_1,S_2\}
  • k=3k=3:有两个好的子集:{S1,S2},{S1,S2,S3}\{S_1,S_2\},\{S_1,S_2,S_3\}
  • k=4k=4:有五个好的子集:{S1,S2},{S1,S2,S3},{S1,S2,S4},{S1,S3,S4},{S1,S2,S3,S4}\{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\}

输入解题思路,AI测评打分。不知道怎么写?

首页