原理:
安利两个写的特好的博文:
https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html
http://www.cnblogs.com/binyue/p/3771040.html
以插入和查询小写字母单词为例:
1.字典树用边来表示字母,并非节点储存字母。
2.有相同前缀的单词则共用前缀。
3.树根是一个虚点(空节点),便于查找和插入。
4.每次的单词的末尾有一个标记,表示此处是一个完整的单词的结尾。
常见应用:
1.字符串查找
2.求字符串的最长公共前缀
3.排序
4.与位运算( 异或^ 与|)相结合
下面主要通过例题来讲解应用4:
1.Little Xor
原题: https://www.luogu.org/problemnew/show/CF252A
题解: https://www.luogu.org/blog/yyyz05/solution-cf252a
这一题因为数据很弱,可以直接模拟。
升级版:
https://blog.csdn.net/SDU_Phonism/article/details/12913129
2.Xor Sum
原题:http://acm.hdu.edu.cn/showproblem.php?pid=4825