#P6072. 『MdOI R1』Path

    ID: 4874 Type: RemoteJudge 1000~3500ms 245MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>莫队O2优化分治字典树,Trie

『MdOI R1』Path

题目描述

给定一棵 nn 个点的无根树,边有边权。

V(x,y),E(x,y)V(x,y),E(x,y) 分别表示树上 x,yx,y 之间的简单路径上的所有点的集合和所有边的集合,特别地,当 x=yx=y 时,V(x,y)={x}V(x,y) = \{x\}E(x,y)=E(x,y) = \varnothing

再令边集 EE 的权值 f(E)f(E)EE 中所有边的权值的 异或和,当 E=E = \varnothing 时,f(E)=0f(E) = 0

现在,要你求出

$$\max_{1\le x,y,u,v \le n,V(x,y)\cap V(u,v) = \varnothing}(f(E(x,y)) + f(E(u,v))) $$

通俗的讲,你要选择两条简单路径,满足没有重合的点,且边权异或和之和最大。

输入格式

第一行一个整数 nn,表示树上点的个数。

接下来 n1n-1 行,每行三个整数 x,y,wx,y,w,表示编号为 xxyy 的点之间有一条权值为 ww 的边。

输出格式

一行一个整数,表示答案。

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

21

3
1 2 2
2 3 1

2

提示

【样例 1 解释】

样例中的树如图所示,选择标红色和蓝色的两条路径,满足没有重合的点,且边权异或和之和最大,为 (718)+(52)=21(7\oplus 1\oplus 8)+(5\oplus 2)=21(其中 \oplus 表示异或运算)。

【样例 2 解释】

样例中的树如图所示,为一条链的形状,选择标红色和蓝色的两条路径,蓝色路径退化成了一个点,使异或和之和达到最大值 2+0=22+0=2。注意红色路径并不能延申到 33,否则蓝色路径将无法存在。


【数据范围】

本题采用捆绑测试。

子任务编号 nn\leq 特殊性质 分值 时限
1 5050 12 1s
2 2×1032\times 10^3 28 2s
3 2×1042\times 10^4 y=x+1y = x + 1 20 3s
4 3×1043\times 10^4 40 3.5s

对于 100%100\% 的数据,2n3×1042\leq n\leq 3\times 10^41x,yn1\leq x,y\leq n0w1090\leq w\leq 10^9