题目描述 给你一棵 n 个点的无根树. 树上的每条边具有颜色.一共有 m 种颜色,编号为 1 到 m.第 i 种颜色的权值为 ci. 对于一条树上的简单路径,路径上经过的所有边按顺序组成一个颜色序列,序列可以划 分成若干个相同颜色段.定义路径权值为颜色序列上每个同颜色段的颜色权值之和. 请你计算,经过边数在 l 到 r 之间的所有简单路径中,路径权值的最大值. 题解 如果没有颜色这种东西的话,看到l~r的限制,就容易想到点分治+单调队列维护. 我们的单调队列的作用其实就是合并两颗子树. 考虑有如…
Description 给你一棵 n 个点的无根树.树上的每条边具有颜色. 一共有 m 种颜色,编号为 1 到 m.第 i 种颜色的权值为 ci.对于一条树上的简单路径,路径上经过的所有边按顺序组成一个颜色序列,序列可以划分成若干个相同颜色段 . 定义路径权值为颜色序列上每个同颜色段的颜色权值之和.请你计算,经过边数在 l 到 r 之间的所有简单路 径中, 路径权值的最大值. Input 第一行, 四个整数 n, m, l, r. 第二行, n 个整数 c1, c2, --, cm,由空格隔开.…