QOJ.ac

QOJ

Límite de tiempo: 1.0 s Límite de memoria: 256 MB Puntuación total: 100

#10074. 寻找圣林之旅

Estadísticas

在古老的罗马尼亚中心地带,茂密的森林与高耸的山脉交汇处,坐落着迷人的 Vatra Codrilor 王国。王国由 $n$ 个神圣的树林保护,编号从 $1$ 到 $n$,每个树林都由一位守护神看守。这些树林通过只有智者才知晓的秘密小径相连,形成了一棵广阔而古老的生命之树。这些小径纯净且没有任何危险的环路,确保了旅行者总能在王国中找到路而不会迷失。形式化地说,这些秘密小径构成了一棵树。

一天晚上,当满月升起时,这 $n$ 位守护者收到了来自达契亚神灵的神谕。神谕是一份古老的卷轴,上面写着一个名为 $p$ 的神圣列表。形式化地说,$p$ 是一个长度为 $n$ 的序列,其中 $1$ 到 $n$ 的每个数字恰好出现一次。这个列表告诉了守护者们在保护森林的最终战役中他们必须站立的顺序。

然而,聪明的守护者们知道这个列表还有更深层的含义。对于列表的每一个子段 $[\ell, r]$,如果树林 $p_\ell, p_{\ell+1}, \dots, p_r$ 在不涉及其他树林的情况下,通过秘密小径全部连通,那么来自这些树林的守护者们就可以聚在一起,利用森林的魔法力量。

你的挑战是帮助守护者们找出在神圣列表 $p$ 中存在多少个这样的子段。你能计算出守护者之舞中的魔法片段数量,确保森林的力量保持强大与团结吗?

输入格式

第一行包含一个整数 $n$ ($1 \le n \le 2 \cdot 10^5$)。 接下来的 $n-1$ 行,每行包含两个整数 $u_i$ 和 $v_i$ ($1 \le u_i, v_i \le n$),表示树的一条边。 最后一行包含 $n$ 个不同的整数 $p_1, p_2, \dots, p_n$ ($1 \le p_i \le n$)。

输出格式

你需要输出一行,包含一个整数:满足 $1 \le \ell \le r \le n$ 且树林 $p_\ell, p_{\ell+1}, \dots, p_r$ 构成一个连通无向图的子段 $[\ell, r]$ 的数量。

样例

输入 1

7
1 2
1 3
3 4
3 5
3 6
2 7
7 3 4 1 2 5 6

输出 1

16

输入 2

7
1 2
1 3
3 4
3 5
3 6
2 7
7 2 4 1 3 5 6

输出 2

22

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.