2179 「BJOI2017」树的难题

内存限制:256 MB 时间限制:2000 ms

题目描述

给你一棵 $n$ 个点的无根树。

树上的每条边具有颜色。一共有 $m$ 种颜色,编号为 $1$ 到 $m$,第 $i$ 种颜色的权值为 $c_i$。

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

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

输入格式

第一行,四个整数 $n, m, l, r$。
第二行,$m$ 个整数 $c_1, c_2, \ldots, c_m$,由空格隔开,依次表示每个颜色的权值。
接下来 $n-1$ 行,每行三个整数 $u, v, c$,表示点 $u$ 和点 $v$ 之间有一条颜色为 $c$ 的边。

输出格式

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

样例 1

颜色权值均为负,最优路径为 $(1, 2)$ 或 $(1, 3)$。

样例 2

最优路径为 $(3, 1, 2, 5, 6)$,其颜色序列为 $(2, 1, 1, 2)$。

数据范围与提示

| 测试点编号 | $n$ | $m$ | 特殊限制 | |-|-|-|-| | $1$ | $=10^3$ | $\le n$ | 无特殊限制 | | $2$ | $=10^4$ | $=2$ | 无特殊限制 | | $3$ | $=10^5$ | $\le n$ | 所有点的度数不超过 $2$ | | $4$ | $=2\times10^5$ | $\le n$ | 所有点的度数不超过 $2$ | | $5$ | $=10^5$ | $=10$ | $l=1$,$r=n-1$ | | $6$ | $=2\times10^5$ | $\le n$ | $l=1$,$r=n-1$ | | $7$ | $=10^5$ | $=50$ | 无特殊限制 | | $8$ | $=10^5$ | $\le n$ | 无特殊限制 | | $9$ | $=2\times 10^5$ | $=100$ | 无特殊限制 | | $10$ | $=2\times 10^5$ | $\le n$ | 无特殊限制 |

样例

样例输入 1

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

样例输出 1

-1

样例输入 2

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

样例输出 2

11