QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 512 MB Points totaux : 100

#3843. 树上的排列

Statistiques

给定一棵有 $n$ 个顶点的树,其中顶点 $r$ 为根节点。如果一个 $n$ 的排列 $p_1, p_2, \dots, p_n$ 满足以下约束,则称其为“好”的排列:

令 $a_x$ 为 $x$ 在排列中的下标(即 $p_{a_x} = x$)。对于所有 $1 \le u, v \le n$,如果顶点 $u$ 是顶点 $v$ 在树中的祖先,则 $a_u < a_v$。

定义一个排列的得分为 $\sum_{i=1}^{n-1} |p_i - p_{i+1}|$,其中 $|x|$ 表示 $x$ 的绝对值。计算所有不同的好排列的得分之和。

输入格式

每个测试文件中仅包含一组测试数据。

第一行包含两个整数 $n$ 和 $r$ ($2 \le n \le 200, 1 \le r \le n$),分别表示树的大小和根节点。

接下来的 $(n - 1)$ 行,第 $i$ 行包含两个整数 $u_i$ 和 $v_i$ ($1 \le u_i, v_i \le n$),表示树中连接顶点 $u_i$ 和 $v_i$ 的一条边。

输出格式

对于每组测试数据,输出一行,包含一个整数,表示所有不同的好排列的得分之和。由于答案可能很大,请输出答案对 $(10^9 + 7)$ 取模的结果。

样例

样例输入 1

4 2
1 2
2 3
1 4

样例输出 1

15

样例输入 2

3 1
1 2
2 3

样例输出 2

2

说明

对于第一个样例测试数据,共有三个好排列:$\{2, 1, 3, 4\}$,$\{2, 1, 4, 3\}$ 和 $\{2, 3, 1, 4\}$。它们的得分分别为 $4, 5$ 和 $6$,因此答案为 $4 + 5 + 6 = 15$。

对于第二个样例测试数据,只有一个好排列:$\{1, 2, 3\}$。它的得分为 $2$。

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.