#P13324. [2025 集训队互测 R1]Everlasting Friends?

    ID: 12508 传统题 2000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>CF3400数据结构线段树树链剖分并查集图论

[2025 集训队互测 R1]Everlasting Friends?

题目描述

等到一切有关这【】OI 的事情结束,所有的利益与竞争化为乌有,我们还会是朋友……吗?

σ\sigma 有一张包含 nn 个人,n1n-1 条朋友关系的关系网。保证在这个关系网中所有人连通,也就是说,将 nn 个人视为点,n1n-1 条朋友关系视为边后该关系网为一棵树。

关系网是会变化的,毕竟没有永远的朋友。

σ\sigma 常常追忆过去,他想起过去的关系网是现在关系网按 1,2,3,,n1,2,3, \ldots, n 顺序加入点后的重构树。

σ\sigma 常常幻想未来,他发现未来的关系网是现在关系网按 n,n1,n2,,1n, n-1, n-2, \ldots, 1 顺序加入点后的重构树。

σ\sigma 定义,对于某两张关系网而言,如果 {1,2,3,,n}\{1,2,3, \ldots, n\} 的一个非空集合 SS 在两张关系网上的导出子图均为一个连通块,则 SS 为这两张关系网的不变朋友子集

σ\sigma 想知道,过去的关系网与现在的关系网有多少不变朋友子集以及过去的关系网与未来的关系网有多少不变朋友子集。由于答案可能较大,你只需要输出答案对 998244353998244353 取模后的值即可。

形式化题意

给定一棵 nn 个点的树 TT ,定义 TmaxT_{\max } 为按 1,2,3,,n1,2,3, \ldots, n 顺序加入点后的重构树,TminT_{\min } 为按 n,n1,n2,,1n, n-1, n-2, \ldots, 1 顺序加入点后的重构树,f(T1,T2)f\left(T_1, T_2\right) 为使得 SST1,T2T_1, T_2 上的导出子图均为连通块的 {1,2,3,,n}\{1,2,3, \ldots, n\} 的非空子集 SS 个数。求 f(Tmax,T)f\left(T_{\max }, T\right)f(Tmax,Tmin)f\left(T_{\max }, T_{\min }\right)998244353998244353 取模后的值。

按顺序 ord1,ord2,ord3,,ordnord_1, ord_2, ord_3, \ldots, ord_n 加入点构建重构树的具体流程为:

  1. 维护点集 SS ,按 i=1,2,3,,ni=1,2,3, \ldots, n 依次遍历每个 p=ordip=o r d_i
  2. 对于所有在原树上与 pp 相邻且在 SS 中的点 qq ,将 SS 点集的导出子图中 qq 所在连通块最晚加入 SS 的点在重构树上与 pp 连边。
  3. pp 加入点集 SS

输入格式

第一行两个正整数 tp,ntp, n ,分别表示询问类型与点数。tp=1tp=1 时你需要输出过去的关系网与现在的关系网有多少不变朋友子集tp=2tp=2 时你需要输出过去的关系网与未来的关系网有多少不变朋友子集

接下来 n1n-1 行,每行两个正整数 ui,viu_i, v_i ,表示一条朋友关系。保证在这个关系网中所有人连通。

输出格式

一行,输出一个非负整数,表示答案对 998244353998244353 取模后的值。

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

15

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

13

数据范围

子任务编号 nn \leq tp=t p= 特殊限制 分值
11 1010 11 55
22 20002000 1515
33 2×1052 \times 10^5 树退化为一条链 55
44 树退化为菊花图 55
55 1010
66 1010 22 55
77 100100 1010
88 500500 1010
99 50005000 1010
1010 2×1052 \times 10^5 树退化为一条链 55
1111 树退化为菊花图 55
1212 1515

对于所有数据: 1tp2,1n2×1051 \leq t p \leq 2,1 \leq n \leq 2 \times 10^5 ,保证关系网中所有人连通。