AT_kupc2016_g.試験

通过率:0%

AC君温馨提醒

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

题目描述

你即将参加京都大学的入学考试。为了应对即将到来的试题,你决定记忆可能被考到的一组字符串集合 SS。但是,直接记住 SS 过于繁琐,因此你选择记一个辅助字符串 TT 并确保 SS 和 TT 满足以下条件:

  • 集合 SS 中的每个字符串都是 TT 的连续子串。
  • 对于集合 SS 中的任意两个不同字符串 xx 和 yy,xx 不能是 yy 的子序列。

注意,这里的连续子串指的是字母在 TT 中连续出现,而子序列则不要求连续。

在考试当天,当你打开试卷时,发现如果能回忆起集合 SS 就能取得满分。然而,你忘记了如何从字符串 TT 中恢复出集合 SS。不过你仍然记得上述条件,因此你决定首先求出集合 SS 可能包含的最大元素数量。

输入格式

输入由一行字符串 TT 组成。

输出格式

输出集合 SS 的最大可能元素数量。

输入输出样例

  • 输入#1

    abcabc

    输出#1

    3
  • 输入#2

    abracadabra

    输出#2

    7
  • 输入#3

    abcbabbcabbc

    输出#3

    8
  • 输入#4

    bbcacbcbcabbabacccbbcacbaaababbacabaaccbccabcaabba

    输出#4

    44

说明/提示

  • 字符串长度 1≤∣T∣≤1051 \leq |T| \leq 10^5
  • 字符串 TT 仅由小写字母组成

部分得分

  • 当 1≤∣T∣≤501 \leq |T| \leq 50 时,若所有测试用例都回答正确,可获得 30 分。
  • 当 1≤∣T∣≤1031 \leq |T| \leq 10^3 时,若所有测试用例都回答正确,可获得额外 30 分。

示例解释

在这个例子中,ab、ca 和 bc 是一种可能的最优复原方案。

本翻译由 AI 自动生成

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

首页