#L2179. #2179. 「BJOI2017」树的难题

#2179. 「BJOI2017」树的难题

题目描述 给你一棵 nn 个点的无根树。

树上的每条边具有颜色。一共有 mm 种颜色,编号为 11mm,第 ii 种颜色的权值为 cic_i

对于一条树上的简单路径,路径上经过的所有边按顺序组成一个颜色序列,序列可以划分成若干个相同颜色段。定义路径权值为颜色序列上每个同颜色段的颜色权值之和。

请你计算,经过边数在 llrr 之间的所有简单路径中,路径权值的最大值。

输入格式 第一行,四个整数 n, m, l, rn,\ m,\ l,\ r。 第二行,mm 个整数 c1, c2, , cmc_1,\ c_2,\ \ldots,\ c_m,由空格隔开,依次表示每个颜色的权值。 接下来 n1n-1 行,每行三个整数 u, v, cu,\ v,\ c,表示点 uu 和点 vv 之间有一条颜色为 cc 的边。

输出格式 输出一行,一个整数,表示答案。

样例 1 输入

text 5 3 1 4 -1 -5 -2 1 2 1 1 3 1 2 4 2 2 5 3 输出

text -1 解释 颜色权值均为负,最优路径为 (1,2)(1, 2)(1,3)(1, 3)(长度 11 条边,权值 1-1)。

样例 2 输入

text 8 4 3 4 -7 9 6 1 1 2 1 1 3 2 1 4 1 2 5 1 5 6 2 3 7 1 3 8 3 输出

text 11 解释 最优路径为 (3,1,2,5,6)(3, 1, 2, 5, 6),其颜色序列为 (2,1,1,2)(2, 1, 1, 2),颜色段为 [2][2], [1,1][1, 1], [2][2],权值之和为 6+(7)+6=116 + (-7) + 6 = 11(按样例中的 c1=7c_1=-7, c2=9c_2=9, c3=6c_3=6, c4=1c_4=1 计算:等等,检查一下:题目给出的 c2=9c_2=9,但路径中颜色 22 出现两次分别在不同颜色段?这里不对,重看)

让我们仔细分析样例 2 给出的数据:

c1=7c_1 = -7(颜色 11

c2=9c_2 = 9(颜色 22

c3=6c_3 = 6(颜色 33

c4=1c_4 = 1(颜色 44

路径 (3,1,2,5,6)(3, 1, 2, 5, 6) 的边颜色序列:

(3,1)(3,1):颜色 22

(1,2)(1,2):颜色 11

(2,5)(2,5):颜色 11

(5,6)(5,6):颜色 22

所以颜色序列是 (2,1,1,2)(2, 1, 1, 2),划分为颜色段:

第一段 [2][2],权值 c2=9c_2 = 9

第二段 [1,1][1, 1],权值 c1=7c_1 = -7

第三段 [2][2],权值 c2=9c_2 = 9

总和 9+(7)+9=119 + (-7) + 9 = 11,正确。

数据范围 nn 的范围未明确给出,但根据 BJOI 2017 原题,n2×105n \le 2\times 10^5 左右。

mnm \le n

1lrn11 \le l \le r \le n-1