【学习笔记】【模板】【自学】Tire 字典树
字典树:将每个字符串 $s$ 记录在 $\text{Trie}$ 上,使得所有 $s$ 都能在 $\text{Trie}$ 上找到。
- $\text{change}[i]$:字符 $i$ 在变为数字是的编号。
- $\text{Next}[i][j]$: 字符 $j$ 在树的第 $i$ 层的下一个访问节点。
- $\text{Trie}[i]$:当前节点编号为 $i$ 的字符出现次数。
建树:若在树的第 $i$ 层没有找到 $s_i$,就另开一个节点 $s_i$,记录 $\text{Next}$,一直寻找。
访问:在找前缀的时候直接往父亲节点遍历,若图中没有找到 $\text{Next}$,则返回,否则遍历后答案为 $\text{Trie}$。
$\text{Tips:}$ 由于时间限制,清空时请 $\text{Next}$ 数组中的 $i$ 循环到 $\text{sum}$ 就足够了,因为其他没有用,$\text{Trie}$ 同理。