TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P4431
  • 题目
  • P4431【BJOI2017】树的难题
    限制 : 时间限制 : - MS   空间限制 : - KB
    评测说明 : 2s,256m
    问题描述

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

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

    对于一条树上的简单路径,路径上经过的所有边按顺序组成一个颜色序列,序列可以划

    分成若干个相同颜色段。定义路径权值为颜色序列上每个同颜色段的颜色权值之和。

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

    输入格式

    第一行,四个整数 n, m, l, r。

    第二行,m个整数 c1, c2, ……, cm,由空格隔开。依次表示每个颜色的权值。

    接下来 n-1 行,每行三个整数

    输出格式

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

    样例输入 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

    提示

    对于 100%的数据,1 ≤ n, m ≤ 2*10^5, 1 ≤ l ≤ r ≤ n, |ci| ≤ 10^4。保证 树上至少存在一条经过边数在 l 到 r 之间的路径。  

    受NKOJ局限,强烈建议手工扩栈!