#NP0041. L11 NP0041-哈夫曼编码

0

L11 NP0041-哈夫曼编码

题目描述

将一个字符串转换为二进制编码有很多方法,例如字符串"ABCA"只有三种字符,可以依次编码为00,01,10,上述字符串可编码为00011000,解码时,只需要每两位依次解码即可得到原串。

然而,这种编码方式并不一定是最优的方式,我们希望对于给定的字符串,其对应的二进制编码尽可能短。为了使二进制编码对应的源码唯一,我们需要使任一个字符的二进制编码都不能是另一个字符二进制编码的前缀。

现给定字符串,请你求出按如上编码要求进行编码后,最短的编码长度。

输入格式

输入一行只含有大写字母的字符串。

输出格式

输出一行一个整数,表示最短长度。

样例输入 #1

ABACCDA

样例输出 #1

13

说明/提示

有字符串长度≤105\leq 10^5。