题单练习 区间型DP入门

A7001 | [SCOI2003] 字符串折叠

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

折叠的定义如下:

1. 一个字符串可以看成它自身的折叠。记作 ``S = S

2.
X(S)
` 是 $X$ 个 `S` 连接在一起的串的折叠。记作 `X(S) = SSSS…S``。

3. 如果 ``A = A’`, `B = B’`,则 `AB = A’B’ `。例如:因为 `3(A) = AAA`, `2(B) = BB`,所以 `3(A)C2(B) = AAACBB`,而 `2(3(A)C)2(B) = AAACAAACBB

给一个字符串,求它的最短折叠。

例如
AAAAAAAAAABABABCCD
` 的最短折叠为:`9(A)3(AB)CCD``。

输入格式

仅一行,即字符串 S,长度保证不超过 $100$。

输出格式

仅一行,即最短的折叠长度。

输入输出样例

输入 #1
NEERCYESYESYESNEERCYESYESYES
输出 #1
14
C++ 编辑器
输入
输出