AT_arc060_d.[ARC060F] 最良表現
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
设 x 为长度至少为 1 的字符串。对于任意字符串 y 以及大于等于 2 的整数 k,如果 y 重复 k 次得到的字符串与 x 不同,则称 x 为好字符串。例如,a、bbc、cdcdc 等是好字符串,而 aa、bbbb、cdcdcd 等不是好字符串。
设 w 为长度至少为 1 的字符串。对于由 m 项组成的序列 F=(f1,f2,...,fm),如果同时满足以下条件,则称 F 是 w 的好表示:
- 对于所有 i (1≤i≤m),fi 是好字符串。
- 将 f1,f2,...,fm 按顺序连接起来得到 w。
例如,当 w=aabb 时,w 的好表示共有 5 种:
- (
aabb) - (
a,abb) - (
aab,b) - (
a,ab,b) - (
a,a,b,b)
在所有 w 的好表示中,项数 m 最小的表示称为 w 的最优表示。例如,w=aabb 的最优表示只有 (aabb) 这一种。
给定字符串 w,请你求出以下两项:
- w 的最优表示的项数;
- w 的最优表示的总数对 1000000007 (=109+7) 取模的结果。
保证对于给定的 w,一定存在好表示。
输入格式
输入为一行,包含字符串 w。
输出格式
输出共两行:
- 第 1 行输出 w 的最优表示的项数。
- 第 2 行输出 w 的最优表示的总数对 1000000007 取模的结果。
输入输出样例
输入#1
aab
输出#1
1 1
输入#2
bcbc
输出#2
2 3
输入#3
ddd
输出#3
3 1
说明/提示
限制
- 1≤∣w∣≤500000 (=5×105)
- w 仅由小写英文字母(
a-z)组成。
部分分
- 若能正确解决 1≤∣w∣≤4000 的数据,将获得 400 分。
样例解释 2
对于该输入,项数为 2 的最优表示共有如下 3 种:
- (
b,cbc) - (
bc,bc) - (
bcb,c)
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?