QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 2048 MB Total points: 100

#10477. Tree Generators

Statistics

国际解析竞赛中的一道题目引起了你的注意。

输入给出了两个表达式,每个表达式都代表一个生成单棵树的过程。该生成过程是随机的,这意味着每次执行该过程时可能会生成不同的树。你需要计算这两个表达式共同能够生成的树的数量。

表达式的语法如下:

$$E ::= ‘1’ | ‘(’ E E ‘)’$$

树根据以下过程从表达式中生成:

  • 表达式 1 生成一棵只有一个标号为 1 的顶点的树。
  • 对于两个表达式 $E_1$ 和 $E_2$,表达式 $(E_1E_2)$ 按如下方式生成一棵树:
    • 从 $E_1$ 生成一棵有 $n_1$ 个顶点的树 $T_1$,从 $E_2$ 生成一棵有 $n_2$ 个顶点的树 $T_2$。
    • 然后,将 $T_2$ 中所有顶点的标号增加 $n_1$。
    • 之后,随机选择两个顶点,一个来自 $T_1$,另一个来自 $T_2$。添加一条连接它们的边,形成一棵标号为 1 到 $(n_1 + n_2)$ 的树,这就是由 $(E_1E_2)$ 生成的树。

例如,表达式 (11) 只能生成图 D.1 中最左侧的树,而 (1(11)) 可以生成其余两棵树。

图 D.1. 由两个表达式 (11) 和 (1(11)) 生成的树

同一棵树可能由不同的表达式生成。中间的树也可以由 ((11)1) 生成。

对于给定的两个长度相同的表达式,计算这两个表达式共同能够生成的树的数量。注意,由它们生成的树总是具有相同数量的顶点。

如果存在两个下标 $i$ 和 $j$,使得标号为 $i$ 和 $j$ 的顶点在其中一棵树中由边连接,而在另一棵树中没有连接,则认为这两棵树不同。

输入格式

输入包含两行,每行包含一个表达式字符串。这两个字符串长度相同,长度在 1 到 $7 \times 10^5$ 之间(含边界),并遵循上述语法。

输出格式

输出两个表达式共同能够生成的树的数量,对 998 244 353 取模。

样例

样例输入 1

((1(11))1)
((11)(11))

样例输出 1

1

样例输入 2

(1(11))
(1(11))

样例输出 2

2

样例输入 3

(((11)(11))((11)1))
((1(11))(1(1(11))))

样例输出 3

3

样例输入 4

((11)(((1(11))1)((11)1)))
(1(((11)((11)(11)))(11)))

样例输出 4

4

说明

对于样例输入 1,两个表达式可以生成的树如图 D.2 所示。上面六棵树对应第一个表达式,下面四棵树对应第二个表达式。只有每一行最左侧的树可以由两者共同生成。

图 D.2. 样例输入 1 的说明

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.