[海淀区小学组 2024] 最短字符串

Luogu
IDLGB4240
Time1000ms
Memory512MB
DifficultyP2
2025北京双指针 two-pointer科创活动小学活动
给定一个仅由大小写字母构成的长度为 $n$ 的字符串 $S$,求字符串 $S$ 的一个子串 $T$,使得字符串 $T$ 中包含字符串 $S$ 中所有种类的字母(区分大小写),输出子串 $T$ 的最小长度。例如,如果 $S = \tt{aabCce}$,则 $S$ 中包含的不同种类的字母有 $\tt a$,$\tt b$,$\tt C$,$\tt c$,$\tt e$,要子串中包含全部的这四类字母,则子串的索引区间为 $[2, 6]$,即 $S$ 中的第 $2$ 个字符到第 $6$ 个字符,即字符串 $\tt{abCce}$。 ## Input 第一行仅有一个整数 $n$,第二行包含一个符合题目要求的长度为 $n$ 的字符串 $S$。 ## Output 仅有一个不超过 $n$ 的正整数,表示符合题目要求的子串的最小长度。 [samples] ## Background 2024 年海淀区中小学生信息学竞赛小学组复赛题目,数据为洛谷自造。 ## Note - 对于 $10\%$ 的数据,所有字符都不相同; - 对于另外 $30\%$ 的数据,字符串 $S$ 中只包含两种类别的字符。 - 对于另外 $60\%$ 的数据,字符串的长度不会超过 $10^5$。 对于所有数据,字符串的长度不超过 $10^5$,且只包含大小写字母。
Samples
Input #1
3
AaA
Output #1
2
Input #2
7
bcAAcbc
Output #2
3
Input #3
6
aaBCCe
Output #3
5
API Response (JSON)
{
  "problem": {
    "name": "[海淀区小学组 2024] 最短字符串",
    "description": {
      "content": "给定一个仅由大小写字母构成的长度为 $n$ 的字符串 $S$,求字符串 $S$ 的一个子串 $T$,使得字符串 $T$ 中包含字符串 $S$ 中所有种类的字母(区分大小写),输出子串 $T$ 的最小长度。例如,如果 $S = \\tt{aabCce}$,则 $S$ 中包含的不同种类的字母有 $\\tt a$,$\\tt b$,$\\tt C$,$\\tt c$,$\\tt e$,要子串中包含全部的这四类字母,",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB4240"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定一个仅由大小写字母构成的长度为 $n$ 的字符串 $S$,求字符串 $S$ 的一个子串 $T$,使得字符串 $T$ 中包含字符串 $S$ 中所有种类的字母(区分大小写),输出子串 $T$ 的最小长度。例如,如果 $S = \\tt{aabCce}$,则 $S$ 中包含的不同种类的字母有 $\\tt a$,$\\tt b$,$\\tt C$,$\\tt c$,$\\tt e$,要子串中包含全部的这四类字母,...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments