#P13804. [SWERC 2023] In-order
[SWERC 2023] In-order
Description
:::align{center}

:::
奥运会的开幕式将在河上举行,运动员们将乘船出场。每支队伍的运动员在船上的排列方式被设计成一棵二叉树,每支队伍有 名运动员(编号为 到 )。
组委会还为每支队伍指定了二叉树的先序遍历、后序遍历,以及中序遍历中的一个(可能为空)连续区间。
现在,为了确保有足够多的树形排列,使得每支队伍都能拥有独特的排列方式,你需要计算不同可能的中序遍历的数量 ,并对质数 取模。
Input Format
输入包含四行。第一行包含一个整数 。接下来的三行每行包含 个用空格分隔的整数。第二行为 ,其中 表示先序遍历中第 个运动员的编号。第三行为 ,其中 表示后序遍历中第 个运动员的编号。第四行为 ,其中 要么是中序遍历中第 个运动员的编号,要么为 ,表示组委会未指定第 个运动员。
数据范围
- ;
- 至少存在一棵二叉树,其先序、后序和中序遍历分别为所给序列;
- 对于所有 的 ,这些 构成集合 的一个(可能为空)连续子区间。换句话说,若 且 都大于 ,则 都大于 。
Output Format
输出一行,包含一个整数 ,满足 ,且 能被 整除。
8
1 2 3 5 6 4 7 8
5 6 3 8 7 4 2 1
0 0 6 2 4 0 0 0
2
3
1 2 3
3 2 1
0 0 0
4
4
1 2 3 4
4 3 2 1
0 4 0 0
3
Hint
样例解释 1
题目上方给出的两棵二叉树的中序遍历分别为:
样例解释 2
四种可能的中序遍历为:
样例解释 3
三种可能的中序遍历为:
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号