#CF1830D. E81 树上背包 Mex Tree

E81 树上背包 Mex Tree

CF1830D Mex Tree(数据范围微改)

题目描述

给定一棵有 nn 个节点的树。对于每个节点,你可以将其染成 0011

一条路径 (u,v)(u,v) 的价值等于从 uuvv 的最短路径上所有节点的颜色的 MEX ^\dagger

一次染色的价值等于所有满足 1uvn1 \leq u \leq v \leq n 的路径 (u,v)(u,v) 的价值之和。

请问该树的任意染色方案中,最大可能的价值是多少?

^\dagger MEX(minimum excluded)是指一个数组中最小的不属于该数组的非负整数。例如:

  • [2,2,1][2,2,1] 的 MEX 是 00,因为 00 不在数组中。
  • [3,1,0,1][3,1,0,1] 的 MEX 是 22,因为 0011 在数组中,但 22 不在。
  • [0,3,1,2][0,3,1,2] 的 MEX 是 44,因为 00112233 都在数组中,但 44 不在。

输入格式

每组测试数据包含多组测试用例。输入的第一行为一个整数 tt1t101 \leq t \leq 10),表示测试用例的数量。

每组测试用例的第一行为一个整数 nn1n21051 \leq n \leq 2 \cdot 10^5),表示树的节点数。

接下来的 n1n-1 行,每行包含两个整数 aia_ibib_i1ai,bin,aibi1 \leq a_i, b_i \leq n, a_i \neq b_i),表示在节点 aia_ibib_i 之间有一条边。保证给定的边构成一棵树。

输出格式

对于每组测试用例,输出该树的任意染色方案中可能取得的最大价值。

输入输出样例 #1

输入 #1

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

输出 #1

8
15
96
1

说明/提示

在第一个样例中,我们可以将节点 22 染成 11,节点 1,31,3 染成 00。此时,所有路径的价值如下:

  • (1,1)(1,1) 的价值为 11
  • (1,2)(1,2) 的价值为 22
  • (1,3)(1,3) 的价值为 22
  • (2,2)(2,2) 的价值为 00
  • (2,3)(2,3) 的价值为 22
  • (3,3)(3,3) 的价值为 11

可以发现所有路径的价值之和为 88,这是最大可能的值。

由 ChatGPT 4.1 翻译