luogu#P10165. [DTCPC 2024] 人赢的跳棋

[DTCPC 2024] 人赢的跳棋

题目背景

小 C 是人赢。

每周三晚上,小 T 晚上在吃猪脚饭,小 C 晚上和妹子在食堂共进晚餐。

每周五晚上,小 T 启动废墟图书馆,小 C 在和妹子聊天。

今天小 T 在睡觉,而小 C 在和妹子玩人赢的跳棋。

题目描述

给一棵 nn 个点的树,边有边权,边权为三元组。第 ii 条边的三元组 ee(ei,1,ei,2,ei,3)(e_{i,1},e_{i,2},e_{i,3})

设函数 win(x,y)\operatorname{win}(x,y)

  • x2<y2x_2<y_2x3<y3x_3<y_3win(x,y)=x1\operatorname{win}(x,y)=x_1
  • x2>y2x_2>y_2x3>y3x_3>y_3win(x,y)=y1\operatorname{win}(x,y)=y_1
  • 否则 win(x,y)=0\operatorname{win}(x,y)=0

其中 x=(x1,x2,x3),y=(y1,y2,y3)x=(x_1,x_2,x_3),y=(y_1,y_2,y_3)

显然 win\operatorname{win} 函数满足交换律。

设一个三元组序列 {an}\{a_n\} 的权值为 maxi=1n1win(ai,ai+1)\max_{i=1}^{n-1} \operatorname{win}(a_i,a_{i+1}),特别的,n=1n=1 时权值为 00

设一条路径的权值为经过的所有边的权值按顺序组成的序列的权值。

求树的所有无向路径的权值和。

输入格式

第一行一个正整数 nn1n3×1051 \le n\leq 3\times 10^5) 表示树的节点数。

之后 n1n-1 行每行四个整数表示 u,v,ei,1,ei,2u,v,e_{i,1},e_{i,2},其中有 ei,3=ie_{i,3}=i

保证 {ei,1}\{e_{i,1}\}{ei,2}\{e_{i,2}\} 是一个 1n11\sim n-1排列

输出格式

一行一个整数表示答案。

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

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