get_fail的时候要维护一下ed数组
```cpp
for (int i=1;i<=26;i++){
if (trie[x].a[i]){
trie[trie[x].a[i]].fail=trie[trie[x].fail].a[i];
*** ed[trie[x].a[i]]|=ed[trie[trie[x].a[i]].fail]; ***
q.push(trie[x].a[i]);
}
else trie[x].a[i]=trie[trie[x].fail].a[i];
}
```
by aison @ 2019-09-02 23:29:25