CF908F New Year and Rainbow Roads
题目描述
Roy 和 Biv 在无穷数轴上有 $n$ 个点。
每个点有三种颜色之一:红色、绿色或蓝色。
Roy 和 Biv 想用一些边来连接所有的点。可以在任意两个点之间连边。一条边的代价等于它连接的两个点之间的距离。
他们希望用某种方式连边,使得最终所有点都是连通的(无论是直接还是间接连通)。
但有一个限制:Roy 看不见红色,Biv 看不见蓝色。
因此,他们必须选择一种连边方式,使得如果把所有红色点去掉,剩下的蓝色和绿色点依然连通(同理,若去掉所有蓝色点,剩下红色和绿色点也应连通)。
请帮助他们计算满足上述条件的最小总代价。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 300000$),表示点的数量。
接下来 $n$ 行,每行包含两个内容 $p_i$ 和 $c_i$。$p_i$ 为整数($1 \leq p_i \leq 10^9$),表示第 $i$ 个点的位置;$c_i$ 为大写英文字母 'R'、'G' 或 'B',分别表示红色、绿色和蓝色。所有点的位置严格递增。
输出格式
输出一个整数,表示满足条件的最小总代价。
说明/提示
在第一个样例中,最优的连边方式是连边:(1,2)、(1,4)、(3,4)。它们的代价分别为 4、14、5。
由 ChatGPT 5 翻译