#aBC376F. [ABC376F] Hands on Ring (Hard)
[ABC376F] Hands on Ring (Hard)
AT_abc376_f [ABC376F] Hands on Ring (Hard)
题目描述
注:本题与 B 题几乎相同,仅有正文中加粗部分及约束条件不同。
你正用双手握住一个环。这个环由 个部件 组成,部件 与部件 (),以及部件 与部件 互为相邻。
最初,左手握住部件 ,右手握住部件 。你可以在一次操作中执行以下动作:
- 将一只手移动到当前握住的部件的相邻部件之一,但前提是目标部件上没有另一只手。
下图展示了初始状态,以及从该状态出发可以进行和不能进行的操作示例。环上各部件的数字表示部件编号,标有 L 的圆圈表示左手,标有 R 的圆圈表示右手。

你需要依次按照给定的 条指示操作。第 条指示由字符 和整数 表示,其含义如下:
- 通过若干次操作(可以为 次),使得如果 为
L,则左手,若为R,则右手,握住部件 。此时,可以移动未被 指定的另一只手。
在本题的设定和约束下,可以证明任意指示都可以达成。
请你求出,为了依次完成所有指示,所需操作次数的最小总和。
输入格式
输入按以下格式从标准输入读入。
输出格式
请输出依次完成所有指示所需操作次数的最小总和。
输入输出样例 #1
输入 #1
6 3
R 4
L 5
R 5
输出 #1
6
输入输出样例 #2
输入 #2
100 2
L 1
R 2
输出 #2
0
输入输出样例 #3
输入 #3
30 8
R 23
R 26
R 29
L 20
R 29
R 19
L 7
L 16
输出 #3
58
说明/提示
约束
- 为
L或R - 均为整数
样例解释 1

可以按如下方式操作,依次完成 条指示:
- 右手依次移动到部件 ,完成第 1 条指示。
- 左手依次移动到部件 ,完成第 2 条指示。
- 左手移动到部件 ,然后右手移动到部件 ,完成第 3 条指示。
此时操作总次数为 ,且这是最小值。
样例解释 2
有时无需进行任何操作即可完成指示。
由 ChatGPT 4.1 翻译