这里会显示出您选择的修订版和当前版本之间的差别。
| 后一修订版 | 前一修订版 | ||
|
2020-2021:teams:legal_string:字典树_trie_lgwza [2020/07/16 22:08] lgwza 创建 |
2020-2021:teams:legal_string:字典树_trie_lgwza [2020/07/16 22:13] (当前版本) lgwza [检索字符串] |
||
|---|---|---|---|
| 行 51: | 行 51: | ||
| 字典树最基础的应用——查找一个字符串是否在“字典”中出现过。 | 字典树最基础的应用——查找一个字符串是否在“字典”中出现过。 | ||
| - | <HTML><blockquote> | ||
| [[https://www.luogu.com.cn/problem/P2580|于是他错误的点名开始了]] | [[https://www.luogu.com.cn/problem/P2580|于是他错误的点名开始了]] | ||
| 行 62: | 行 61: | ||
| > 对所有名字建 trie,再在 trie 中查询字符串是否存在、是否已经点过名,第一次点名时标记为点过名。 | > 对所有名字建 trie,再在 trie 中查询字符串是否存在、是否已经点过名,第一次点名时标记为点过名。 | ||
| - | <HTML><blockquote> | ||
| 参考代码 | 参考代码 | ||
| 行 108: | 行 106: | ||
| return 0; | return 0; | ||
| } | } | ||
| - | </code></blockquote></HTML></blockquote></HTML> | + | </code> |
| ==== AC 自动机 ==== | ==== AC 自动机 ==== | ||
| 行 117: | 行 115: | ||
| 将数的二进制表示看做一个字符串,就可以建出字符集为 $\{0,1\}$ 的 trie 树。 | 将数的二进制表示看做一个字符串,就可以建出字符集为 $\{0,1\}$ 的 trie 树。 | ||
| - | <HTML><blockquote> | ||
| [[https://www.luogu.com.cn/problem/P4551|BZOJ1954 最长异或路径]] | [[https://www.luogu.com.cn/problem/P4551|BZOJ1954 最长异或路径]] | ||
| 行 134: | 行 131: | ||
| > 贪心的正确性:如果这么走,这一位为 $1$;如果不这么走,这一位就会为 $0$。而高位是需要优先尽量大的。 | > 贪心的正确性:如果这么走,这一位为 $1$;如果不这么走,这一位就会为 $0$。而高位是需要优先尽量大的。 | ||
| - | <HTML><blockquote> | ||
| 参考代码: | 参考代码: | ||
| 行 201: | 行 197: | ||
| return 0; | return 0; | ||
| } | } | ||
| - | </code></blockquote></HTML></blockquote></HTML> | + | </code> |
| ==== 维护异或和 ==== | ==== 维护异或和 ==== | ||