P15709 [JAG 2023 Summer Camp #2] Gemini Tree (Ver.Jadeite)

题目描述

考虑一棵树,每个顶点上放置了一颗绿色或蓝色的石头。如果在执行以下操作 1 和 2 后能够满足条件 3,则称这样的树为“双子树”。 1. 首先,进行“选择由边直接连接的顶点对,并交换放置在每个端点上的石头”这一操作,可以进行零次或多次。 2. 其次,选择至多一条边并将其删除。 3. 此时,树被分割成至多两个连通分量,并且每个分量中只放置了一种颜色的石头。 考虑一棵每条边都有指定长度的“双子树”,并按如下方式定义其价值。 1. 首先,进行“选择由边直接连接的顶点对,并交换放置在每个端点上的石头”这一操作,可以进行零次或多次。每次交换操作的成本等于该边的长度。 2. 其次,选择至多一条边并将其删除。 3. 此时,树被分割成至多两个连通分量,并且每个分量中只放置了一种颜色的石头。 4. 为达成条件 3 所需的操作 1 的总成本的最小值,即为该“双子树”的价值。 注意,在计算价值时,石头本身不被移动。 你被给定一棵每条边都有指定长度的“双子树”。它有 $N$ 个顶点,其中 $N$ 是奇数。第 $i$ 条边连接两个顶点 $u_i$ 和 $v_i$,长度为 $w_i$。放置在顶点上的石头颜色由字符串 $S = s_1s_2 \ldots s_N$ 表示。 你将对这棵树依次执行 $Q$ 次操作。第 $j$ 次操作由两个整数 $e_j, a_j$ 定义,表示将第 $e_j$ 条边的长度增加 $a_j$。该操作的效果在后续操作中依然保持。请回答每次操作后树的价值。

输入格式

$$ \begin{aligned} & N \\ & s_1s_2 \ldots s_N \\ & u_1 \ v_1 \ w_1 \\ & \vdots \\ & u_{N-1} \ v_{N-1} \ w_{N-1} \\ & Q \\ & e_1 \ a_1 \\ & \vdots \\ & e_Q \ a_Q \end{aligned} $$ 输入满足以下约束: - 所有输入均为整数。 - $3 \leq N \leq 10^5$ - $N$ 是奇数。 - $s_i$ 是“G”或“B”,表示顶点 $i$ 上石头的颜色。“G”代表绿色,“B”代表蓝色。 - $1 \leq u_i, v_i \leq N$ - $0 \leq w_i \leq 10^5$ - 给定的图满足“双子树”的条件。 - $1 \leq Q \leq 10^5$ - $1 \leq e_j \leq N - 1$ - $1 \leq a_j \leq 10^5$

输出格式

输出 $Q$ 行答案。在第 $j$ 行,输出第 $j$ 次操作后树的价值。每行末尾请添加换行符。

说明/提示

在样例输入 1 中,只有一颗绿色石头。因此,问题是以最小成本将其移动到其中一个叶子节点。 翻译由 DeepSeek V3.2 完成