题目描述
许多数据库使用前缀压缩技术存储字符字段(特别是索引)。该技术通过以下方式压缩字符串序列 A1,…,AN:
- 对于相邻字符串 Ai=ai,1ai,2…ai,p 和 Ai+1=ai+1,1ai+1,2…ai+1,q,若存在 j≤min(p,q) 使得 ai,1=ai+1,1,…,ai,j=ai+1,j,则将 Ai+1 存储为 [j]ai+1,j+1…ai+1,q,其中 [j] 是一个编码为 j 的单字符。
- 若 j=0(无公共前缀),则 Ai+1 前添加一个零字节,此时总长度可能增加。
约束条件:
- 1≤N≤10000,1≤length(Ai)≤255。
输入格式
- 第一行:整数 N。
- 接下来 N 行:字符串 A1…AN。
输出格式
示例分析
输入数据 1
3
abc
atest
atext
输出数据 1
11
解释:
- A1=abc(长度 3);
- A2 与 A1 的公共前缀长度为 1,压缩为 [1]test(长度 1+4=5);
- A3 与 A2 的公共前缀长度为 3,压缩为 [3]xt(长度 1+2=3);
- 总长度:3+5+3=11。