如下是 OI-wiki 对字典树构建 fail[] 指针的代码的一个解释,有人能否提供简要讲解,更好的说明。 这时我有疑问的代码:
(#define big long long) for(big i = 1;i <= 26;i++) { if(trie[u][i] != 0) // 该节点的下一个节点存在 { fail[trie[u][i]] = trie[fail[u]][i]; q.push(trie[u][i]); } else { trie[u][i] = trie[fail[u]][i]; } }