#B3773. 完美字符串(Perfect String)
0
完美字符串(Perfect String)
完美字符串(Perfect String)
题目描述
你可能见过下面这一句英文:
"The quick brown fox jumps over the lazy dog."
短短的一句话就包含了所有 个英文字母!因此这句话广泛地用于字体效果的展示。更短的还有:
"The five boxing wizards jump quickly."
所以你很好奇:还有没有更多这样包含所有 个英文字母的句子?于是你用爬虫在互联网上爬取了许多英文文本,并且提取出了其中的单词。你现在希望从一个很长的单词序列中找出一段连续出现的单词,它满足:
- 所有 个英文字母都至少出现一次;
- 长度尽可能短,即包含的字母总数尽可能少。
输入格式
输入的第一行包含一个整数 ,代表单词序列的长度,即单词的数量。
输入的第二行包含 个空格分隔的英文单词(单词仅由小写字母构成)。输入数据保证每个小写英文字母都至少出现一次。
输出格式
输出一行一个整数,是你找到的单词序列中的字母总数。
样例输入 #1
13
there is a quick brown fox jumping over the lazy dog and cat
样例输出 #1
37
数据范围
最短满足条件的单词序列是 "is a quick brown fox jumping over the lazy dog",共有 个字母。
对于 的数据,满足 ;
对于 的数据,满足 。每个单词的长度不超过 个字符,且单词全部由小写英文字母 构成。
知识点与难度
本题涉及的知识点从属于 CSP-J,难度(CF Rating):1300。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例 |
| 1 | 20 | 2~7 | 小规模 n≤100 / 特殊: 恰好26个单字母单词答案26 / 特殊: 单个词内部重复字母计数防错 |
| 2 | 8~13 | 中等规模 n≤5000 / Hack: 词数更少但总字母数更多 vs 词数更多但总字母数更少的贪心陷阱 | |
| 3 | 25 | 14~19 | 大规模 n=50000 双指针滑动窗口最小字母总和检验 |
| 4 | 20~25 | 满规模 n=100000 稀有字母远距分布极限压力测试 |
出处:原题链接