#P12357. [eJOI 2024] 贸易搭配 / Many Pairs

[eJOI 2024] 贸易搭配 / Many Pairs

题目描述

EJOI 大陆由 NN 个城市组成,这些城市用 1N1 \sim N 来编号。城市之间有 N1N-1 条双向道路连接,且保证你可以从任意一个城市到达另外一个城市。换句话说,EJOI 大陆是一个树形结构。

在这个大路上还有 KK 个贸易关系,用城市对 (A,B)(A,B) 和利润 CC 来表示。

现在,EJOI 大陆的国王想通过以下方式测试王子的执政能力:

  • 首先,国王会选择一个城市 HH 作为首都。现在,这棵树以 HH 为根。

  • 接下来,王子可以选择至多两个HH 相邻的城市。现在,HH 城以及以被选中城市为根的子树中的所有城市都在王子的管辖下。

选择完毕后,他的利润就等于他管辖的这些城市中的贸易关系的利润之和。注意:当且仅当贸易关系双方都在王子管辖下,这个贸易关系的利润才可以归王子。

现在国王还没有选好令哪个城市作为首都。但是王子很好奇,他想知道,对于每个城市,如果其作为首都,那么他可以获得的最大利润是多少。

输入格式

第一行,两个正整数 N,KN,K

接下来 N1N-1 行,每行两个整数 UUVV,表示大陆上的双向道路。

接下来 KK 行,每行三个整数 A,B,CA,B,C,表示贸易关系。

输出格式

输出一行 NN 个整数,第 ii 个表示如果让第 ii 个城市作为首都,那么王子可以获得的最大利润。

6 4
6 2
2 5
3 6
1 2
4 6
2 5 11
5 6 16
4 3 18
2 3 6
51 51 51 51 51 33

提示

【样例解释】

66 号城市作为首都为例,他可以选择以下城市:

  • 2233

  • 2244

  • 3344

其中,选择 2233 号城市可以得到最大利润 11+16+6=3311+16+6=33

【数据范围】

本题采用 Subtask\text{Subtask} 捆绑测试。

Subtask\text{Subtask} 分值 特殊性质
11 1212 N,K50N,K\le50
22 1313 N5000,K500N\le5000,K\le500
33 1717 N5000,K2000N\le5000,K\le2000
44 2121 N,K5000N,K\le5000
55 3737

对于 100%100\% 的数据:

  • 2N,K2×1052 \le N,K \le 2 \times 10^5

  • 1U,V,A,BN1 \le U,V,A,B \le N

  • 1C1061 \le C \le 10^6