CF701C They Are Everywhere
题目描述
年轻的宝可梦训练师 Sergei B. 发现了一座由 $n$ 个房间组成的大房子,这些房间从左到右依次排列。每个房间都可以从街道进入,也可以从里面出去。此外,每个房间与其左边和右边的房间相连。第 $1$ 号房间只与第 $2$ 号房间相连,第 $n$ 号房间只与第 $n-1$ 号房间相连。
每个房间里恰好有一种类型的宝可梦。Sergei B. 请求大房子的住户们允许他进入他们的房间以捕捉宝可梦。经过商议,住户们允许 Sergei B. 从街道进入一个房间,然后连续访问若干个依次相连的房间,最后从某个房间离开。但他不能多次进入同一个房间。
Sergei B. 非常高兴,现在他希望用尽量少的房间来捕获房子里出现的所有种类的宝可梦。你的任务是帮助他确定必须访问的最少房间数。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 100000$)——房子的房间数量。
第二行包含一个长度为 $n$ 的字符串 $s$,其中仅包含大小写英文字母,第 $i$ 个字母表示第 $i$ 号房间中的宝可梦类型。
输出格式
输出 Sergei B. 至少需要访问的房间数,以便捕捉到房子里出现的所有种类的宝可梦。
说明/提示
在第一个样例中,Sergei B. 可以从第 $1$ 号房间开始,到第 $2$ 号房间结束。
在第二个样例中,Sergei B. 可以从第 $4$ 号房间开始,到第 $6$ 号房间结束。
在第三个样例中,Sergei B. 必须从第 $2$ 号房间开始,到第 $6$ 号房间结束。
由 ChatGPT 5 翻译