AT_agc015_b [AGC015B] Evilator

题目描述

すけぬ君建造了一栋有 $N$ 层的楼房。楼内有一部电梯,可以在所有楼层停靠。 すけぬ君在每一层都装了上下方向的按钮,但由于疏忽,每一层只能装上行或下行其中一种按钮。因此,从任意一层只能往上或往下,其方向由按钮决定。若 $S_i$ 为 `U`,表示第 $i$ 层只有上行按钮,只能向上移动;若为 `D`,则只有下行按钮,只能向下移动。 住户们有时需要从某一层前往另一层。在按钮限制下,他们只能选择允许的方向,如果无法直接到达目标层,则需要借道其它楼层。请你计算,对于楼内所有的有序对 $(i, j)$,即从第 $i$ 层到第 $j$ 层,住户最少需要乘坐多少次电梯,将这些最小乘坐次数全部加和,输出总和。

输入格式

输入为一行,格式如下: > $S_1S_2\dots S_{|S|}$

输出格式

请输出所有有序对 $(i, j)$($1 \leq i, j \leq N$)中,从第 $i$ 层到第 $j$ 层所需最少乘坐电梯次数之和。

说明/提示

## 限制 - $2\leq |S| \leq 10^5$ - $S_i$ 只为 `U` 或 `D` - 第 $1$ 层必为 `U` - 第 $N$ 层必为 `D` ## 样例解释 从第 $1$ 层到第 $2$ 层,只需乘坐电梯 $1$ 次即可,到第 $3$ 层同样 $1$ 次。 从第 $2$ 层到第 $1$ 层,需要 $2$ 次。到第 $3$ 层需要 $1$ 次。 从第 $3$ 层到第 $1$ 层需要 $1$ 次,到第 $2$ 层需要 $1$ 次。 以上所有情况的最小乘坐次数之和为 $7$,所以输出 $7$。 由 ChatGPT 5 翻译