题目背景
小 C 是人赢。
每周三晚上,小 T 晚上在吃猪脚饭,小 C 晚上和妹子在食堂共进晚餐。
每周五晚上,小 T 启动废墟图书馆,小 C 在和妹子聊天。
今天小 T 在睡觉,而小 C 在和妹子玩人赢的跳棋。
题目描述
给一棵 n 个点的树,边有边权,边权为三元组。第 i 条边的三元组 e 为 (ei,1,ei,2,ei,3)。
设函数 win(x,y):
- 若 x2<y2 且 x3<y3 则 win(x,y)=x1。
- 若 x2>y2 且 x3>y3 则 win(x,y)=y1
- 否则 win(x,y)=0。
其中 x=(x1,x2,x3),y=(y1,y2,y3)。
显然 win 函数满足交换律。
设一个三元组序列 {an} 的权值为 maxi=1n−1win(ai,ai+1),特别的,n=1 时权值为 0。
设一条路径的权值为经过的所有边的权值按顺序组成的序列的权值。
求树的所有无向路径的权值和。
输入格式
第一行一个正整数 n(1≤n≤3×105) 表示树的节点数。
之后 n−1 行每行四个整数表示 u,v,ei,1,ei,2,其中有 ei,3=i。
保证 {ei,1} 和 {ei,2} 是一个 1∼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