CF1995D.Cases

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你是一名语言学家,正在研究一种神秘的古代语言。你已知:

  1. 该语言的单词仅由拉丁字母表前 cc 个字母组成。
  2. 每个单词都有一个“格”,可以通过其最后一个字母唯一确定(不同的字母对应不同的格)。例如,单词 "ABACABA" 和 "ABA"(如果它们存在)具有相同的格,因为它们都以 'A' 结尾;而 "ALICE" 和 "BOB" 则属于不同的格。如果某个字母没有对应的格,则说明单词不能以该字母结尾。
  3. 每个单词的长度不超过 kk。

你手头有一段用这种语言写成的文本。不幸的是,由于这是一种非常古老的语言,单词之间的空格已经消失,所有字母均为大写。你想知道,这种语言最少需要多少种格?你能找出来吗?

输入格式

每组测试数据包含若干个测试用例。第一行包含一个整数 tt(1≤t≤10 0001 \le t \le 10\,000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含三个整数 nn、cc、kk(1≤k≤n≤2181 \le k \le n \le 2^{18},1≤c≤181 \le c \le 18),分别表示文本长度、语言中字母的数量以及单词的最大长度。

第二行包含一个长度为 nn 的字符串,表示文本本身。每个字符都是拉丁字母表前 cc 个大写字母之一。

保证所有测试用例中 nn 的总和不超过 2182^{18},所有测试用例中 2c2^c 的总和不超过 2182^{18}。

输出格式

对于每个测试用例,输出一行一个整数,表示该语言最少需要的格的数量。

输入输出样例

  • 输入#1

    7
    5 5 1
    ABCDE
    3 1 2
    AAA
    3 2 2
    AAB
    10 2 2
    ABABABABAB
    4 4 4
    DCBA
    1 17 1
    Q
    9 3 2
    ABCABCABC

    输出#1

    5
    1
    2
    1
    1
    1
    2

说明/提示

在第一个测试用例中,语言必须有五种格(分别对应 'A'、'B'、'C'、'D'、'E' 这五个字母,每个字母都必须有对应的格)。

在第四个测试用例中,仅需要一种以 'B' 结尾的格即可。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页