P15629 [2019 KAIST RUN Spring] Rainbow Beads

题目描述

Jaehyun 有一条由 $N$ 颗珠宝从左到右排列而成的串珠。每颗珠宝是红、蓝、紫三种颜色之一,分别用单个字符 $\texttt{R}$, $\texttt{B}$, $\texttt{V}$ 表示。作为一场重要比赛的委员之一,Jaehyun 想用它作为给某位参赛者的纪念品。 Jaehyun 喜欢颜色多样的串珠,因此他定义一条串珠为 **美丽** 的,当且仅当其中任意相邻的两颗珠宝颜色都不同。例如,$\texttt{RBVBV}$ 是一条美丽的串珠,因为每一对相邻珠宝颜色都不同。$\texttt{V}$ 也是美丽的串珠,因为它没有相邻的珠宝对。然而,$\texttt{RBBV}$ 不是美丽的串珠,因为其中有两个 $\texttt{B}$ 是相邻的。 不仅 Jaehyun 喜欢颜色多样的串珠,他也喜欢具有多样性的比赛。这一次,Jaehyun 想要制作一条对色盲人士来说也色彩丰富的串珠。为了方便起见,本题中我们只考虑以下三种人: - 非色盲人士,他们能分辨所有三种颜色。 - 红色盲人士(**Protanopia**),他们无法区分红色和紫色:他们会将紫色珠宝视为红色珠宝。 - 蓝色盲人士(**Tritanopia**),他们无法区分蓝色和紫色:他们会将紫色珠宝视为蓝色珠宝。 在这种情况下,字符串 $\texttt{RVB}$ 对非色盲人士来说是色彩丰富的,但对红色盲人士来说则不是,因为红色和紫色珠宝相邻;对蓝色盲人士来说也不是,因为紫色和蓝色珠宝相邻。 Jaehyun 想从串珠中选取一个连续的部分并将其剪下作为纪念品。Jaehyun 剪下的部分必须对上述三种人来说都是色彩丰富的。请注意,如果整条串珠本身就是美丽的,那么 Jaehyun 不一定非要剪下一部分,而是可以直接给出整条串珠。请问他能给出的串珠的最大长度是多少?

输入格式

第一行包含一个整数 $N$($1 \leq N \leq 250\,000$),表示串珠的长度。 第二行包含一个长度为 $N$ 的字符串,其中每个字符是 $\texttt{R}$, $\texttt{B}$ 或 $\texttt{V}$ 之一。

输出格式

输出一个整数,表示对三种人来说都色彩丰富的连续串珠的最大可能长度。

说明/提示

翻译由 DeepSeek 完成