#P3494. [POI 2009] KOD-The Code
[POI 2009] KOD-The Code
Description
题面翻译
Input Format
定义对一个 串进行解码的过程是,每次找到一个前缀,满足它对应一个字符,容易知道这样的前缀是唯一的。将这个字符加入答案,将这个前缀从原串中删掉,如果不存在这样的前缀,则解码的结果是未定义。记 解码的结果是 。
设一个字符编码为 ,定义它是好的,当且仅当对于任意两个串 ,对于 的任意后缀 ,有 不是未定义,且 $\mathrm{decode}(p+a+\mathrm{encode}(t))=\mathrm{decode}(p+a)+t$。求哪些字符是好的。
第一行一个数 ,表示操作次数。接下来一行一个长 的字符串,其中 0/1 表示在当前结点添加一个儿子,边权为 0/1,并移动过去;B表示添加一个父亲;X表示当前结点是一个字符的编码。保证输入是描述这棵 trie 的最短的可能输入。 ,所有字符编码的总长 。
Output Format
一行一个数,表示好的字符的数量。
接下来若干行,从小到大输出每个好的字符是第几个X生成的。
21
11XB0XBB00XB11XB0XBBB
2
4
5
京公网安备 11011102002149号