luogu#P7815. 「小窝 R3」自傷無色

「小窝 R3」自傷無色

题目背景

こんな僕が生きてるだけで
何万人のひとが悲しんで
誰も僕を望まない
そんな世界だったらいいのにな
——《自傷無色》

题目描述

给定一棵 nn 个节点的树,根节点为 11,有边权。约定树上 u,vu,v 两点间路径长度 d(u,v)d(u,v)u,vu,v 间路径上的边权和。

对于一个无序二元组 (u,v)(u,v),定义一个「树三角」当且仅当同时满足:

  • u,vu,v 的最近公共祖先 wuw\neq uwvw\neq v
  • d(u,w),d(v,w)d(u,w),d(v,w) 和某个正整数 xx 为边长,能构成一个三角形。xx 是任意选取的,因此一对 (u,v)(u,v) 可能会产生多个树三角。

此时 d(u,w)+d(v,w)+xd(u,w)+d(v,w)+x 即为这个树三角的大小。具体例子参考样例解释。

定义两个树三角不同,只需满足下列条件中的一条

  • 无序二元组 (u,v)(u,v) 不同。
  • 树三角的大小不同。

对于一个带边权的树 TT,定义其正弦值 sinT\sin TTT 中所有树三角大小的和与 TT 中不同树三角总数量的比值。

小 H 给出了 TT,希望你能求出 sinT\sin T。为了避免误差,结果对 109+710^9+7 取模。特别地,若 TT 中不存在树三角,则 sinT=0\sin T=0

输入格式

第一行,一个正整数 nn:表示树的节点数。

接下来 n1n-1 行,每行三个正整数 u,v,wu,v,w:表示节点 u,vu,v 之间有一条权值为 ww 的边。

输出格式

共一行,为 sinT\sin T 的值对 109+710^9+7 取模。数据保证 TT 中不同树三角总数量不是 109+710^9+7 的倍数。

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

提示

样例解释

对于样例 1,TT 如下图所示。

节点 1,2,31,2,3 构成的三角环有:$\underline{2,3},2;~\underline{2,3},3;~\underline{2,3},4$。

节点 1,3,41,3,4 构成的三角环有:$\underline{3,3},1;~\underline{3,3},2;~\underline{3,3},3;~\underline{3,3},4;~\underline{3,3},5$。

节点 1,3,51,3,5 构成的三角环有:$\underline{3,4},2;~\underline{3,4},3;~\underline{3,4},4;~\underline{3,4},5;~\underline{3,4},6$。

节点 2,4,52,4,5 构成的三角环有:1,2,2\underline{1,2},2

所有三角环大小之和:(7+8+9)+(7+8++11)+(9+10++13)+5=129(7+8+9)+(7+8+\dots+11)+(9+10+\dots+13)+5=129

所有三角环的总个数:3+5+5+1=143+5+5+1=14

sinT=12914\sin T=\dfrac{129}{14},对 109+710^9+7 取模后的结果为 214285725214285725

数据范围

本题采用捆绑测试。

  • 特殊性质 A:保证 TT 中存在度为 n1n-1 的节点。
  • 特殊性质 B:保证 TT 中除了叶子节点,每个节点的度均为 22
  • 特殊性质 C:保证 TT 为满二叉树。
Subtask 分值 1n1\le n\le 特殊性质
11 55 33
22 1313 10310^3
33 1111 7×1037\times10^3
44 1717 10510^5 A
55 B
66 C
77 2020

对于 100%100\% 的数据,1n1051\le n\le 10^51w1091\le w\le 10^9

提示

在题目附件 depression_sample.zip 中:

  • depression_sample1.in 即为样例 #1。
  • depression_sample2.in 满足特殊性质 A。
  • depression_sample3.in 满足特殊性质 B。
  • depression_sample4.in 满足特殊性质 C。
  • depression_sample5.in 不满足特殊性质。