随笔分类 - 字符串——Trie字典树
摘要:题目链接:http://poj.org/problem?id=3764 我们可以在O(32*n)时间内求出一个长度为n的序列中取两个数的最大异或,而树中的异或有如下公式:path[x]=path(root,x) xor path(root,y),所以处理出path(root,i)之后就简化成了 简单
阅读全文
摘要:题目链接:https://www.acwing.com/problem/content/145/ 给定一个长度为n的序列,求一个最大的逆序对。利用Trie,每个整数都在树的底部,沿着二进制位进行延伸,匹配的时候优先匹配不同位,因为不同位翻转之后能加在结果上。 代码: #include<bits/st
阅读全文
摘要:直接上代码: #include<bits/stdc++.h> using namespace std; typedef unsigned int ui; typedef long long ll; typedef unsigned long long ull; #define pf printf #
阅读全文
摘要:参考博客:https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html 字典树就是单词树,顺着一条路径到达终止结点就形成一个单词,该单词的前缀包含在这条路径中。字典树的一般操作有insert单词和search前缀或者单词。 hdu1251字典树模板链
阅读全文