#P6383. 『MdOI R2』Resurrection

    ID: 5138 Type: RemoteJudge 1000ms 500MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>动态规划,dp树形数据结构构造洛谷月赛

『MdOI R2』Resurrection

题目背景

如果你不清楚本题的某些定义,可以阅读【说明/提示】部分。

题目描述

有一棵包含 nn 个节点的树 TT,它的所有边依次编号为 11n1n-1

保证对于 TT 中任意一个节点 uu ,从 uunn 号节点的简单路径都不经过任何编号小于 uu 的节点。

按照如下步骤生成一张包含 nn 个节点的无向图 GG

选取一个 1n11 \sim n-1 的排列 pp,然后依次进行 n1n-1 次操作。在进行第 ii 次操作时,首先删除树 TT 中编号为 pip_i 的边 (a,b)(a,b),然后,记 uuvv 分别为当前树 TT 中与 a,ba,b 联通的所有点中,编号最大的点,并在图 GGuu 号点和 vv 号点之间连一条边。

求对于给定的树 TT,按上述方式一共可以生成多少种本质不同的图 GG。图 G1G_1G2G_2 本质不同当且仅当存在 uuvv 满足在 G1G_1 中不存在边 (u,v)(u,v),而 G2G_2 中存在。

因为答案可能很大,你只需要求出答案对 998244353998244353 取模的值。

输入格式

第一行一个整数 nn,表示树 TT 中的节点数量。

接下来 n1n-1 行,第 ii 行两个整数 u,vu,v,表示在 TT 中编号为 ii 的边是 (u,v)(u,v)

输出格式

一行一个整数,答案对 998244353998244353 取模的值。

4
1 4
2 3
3 4

2
11
1 4
2 6
3 11
4 6
5 6
6 7
7 9
8 9
9 10
10 11

4605

提示

【帮助与提示】

为方便选手测试代码,本题额外提供一组附加样例供选手使用。

样例输入 样例输出


【样例解释】

样例一中可能生成的图 GG 如图所示:

p={1,2,3},{2,1,3},{2,3,1}p = \{1,2,3\},\{2,1,3\},\{2,3,1\} 时将生成右侧的图,否则将生成左侧的图。

对于样例二,我有一个绝妙的解释,只可惜这里空白的位置太小,写不下。


【数据范围】

本题采用捆绑测试。

对于全部数据,保证 1n3×1031 \leq n \leq 3 \times 10^31u,vn1 \leq u,v \leq n

保证,输入的边形成一棵树,且对于任意一个节点 uu ,从 uunn 号节点的简单路径都不经过任何编号小于 uu 的节点。

子任务编号 nn\leq 特殊性质 分值
Subtask 1 55 3232
Subtask 2 1414 1616
Subtask 3 10310^3 所有节点都与 nn 号点直接相连 11
Subtask 4 树的形态是一条链 77
Subtask 5 5050 2222
Subtask 6 3×1033 \times 10^3

下面是本题用到的一些定义:

  • 一棵树是一张有 nn 个节点,n1n-1 条边的无向连通图。

  • (u,v)(u,v) 表示连接点 uu 和点 vv 的一条边。

  • 一条路径是一个序列 p1,p2pkp_1,p_2 \ldots p_k ,满足对于任意 1i<k1 \leq i < k,边 (pi,pi+1)(p_i,p_{i+1}) 都存在于 TT 中,且 没有被之前的操作删除

  • uuvv 联通当且仅当存在一条路径 p1,p2pkp_1,p_2 \ldots p_k 满足 p1=up_1=upk=vp_k=v。任何一个点都和自己联通。