可持久化trie处理抑或和最大值用trie树从上往下贪心的思想查询区间抑或最大值后缀抑或上整体转成维护前缀,方便处理修改题目代码#include#include#include#includeusing namespace std;#define maxn 600020struct node{ in...
分类:
其他好文 时间:
2016-01-10 22:48:14
阅读次数:
252
Trie的应用题目。本题有两个难点了:1 动态建立Trie会超时,须要静态建立数组,然后构造树2 推断的时候注意两种情况: 1) Tire树有133,然后插入13333556的时候。2)插入顺序倒转过来的时候改动一下标准Trie数的插入函数就能够了:#include #include const i...
分类:
其他好文 时间:
2016-01-08 21:53:40
阅读次数:
223
常用的方法:Hash法、Bit-map法、Trie树、堆TOP K 问题:分治+Trie树/hash+小顶堆重复问题:位图法排序问题:分治法/位图法还不是很理解
分类:
其他好文 时间:
2015-12-31 22:45:43
阅读次数:
160
把串倒过来插进trie上, 那么一个串的kpm串就是在以这个串最后一个为根的子树, 子树k大值的经典问题用dfs序+可持久化线段树就可以O(NlogN)解决------------------------------------------------------------------#inclu...
分类:
其他好文 时间:
2015-12-31 22:42:53
阅读次数:
272
因为要求异或和最大,所以可以考虑从高位开始,向低位枚举尽可能接近~x的值,所以以二进制位为关键字,建立可持久化trie树,根据异或和的性质,XOR_SUM{i,j}=XOR_SUM{1,j} xor XOR_SUM{1,i-1},所以查询问题也可以解决了。 1 #include 2 #includ....
分类:
其他好文 时间:
2015-12-31 07:11:06
阅读次数:
577
题目链接给n个数, 让你找出一个前缀和一个后缀, 它们异或完以后最大, 前缀和后缀都是异或得来的, 可以为空, 为空时按0算。前缀后缀不可覆盖。这题好神, 竟然是Trie树...首先将所有数的异或算出来作为初始的后缀, 初始前缀为0。 然后往字典树里插入前缀, 在对后缀进行查找, 查找时, 从高位往...
分类:
其他好文 时间:
2015-12-28 21:57:06
阅读次数:
177
fail树上建可持久化树。根据原题中给定的输入跑就可以跑出一颗trie树,然后对这个trie数建fail树。我最开始的思路错了:A串在B串中出现的次数就是看B中有多少节点可以直接或者说间接的指向A的子树。举个反例:A = aaa,设A的子树是一个点为b,B = aaab,那么B将会有两个指针指向A的...
分类:
其他好文 时间:
2015-12-28 11:54:36
阅读次数:
173
这是一道字符串的题,看到后,第一反应也是把他们全部弄出来后排序,但看了以下数据范围,别说时间了,空间可能都开不下。转而去想数据结构。处理字符串的有trie, 后缀数组, 还有基于哈希值的 LCP, 稍微想了一下, 基于哈希值的 LCP 能进行字符串匹配, 但是比较大小嘛!我就不知道怎么弄了,tri....
分类:
Web程序 时间:
2015-12-25 15:06:29
阅读次数:
168
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3261a[i]^...^a[j]=(a[1]^...^a[j])^(a[1]^...^a[i-1]) 。然后建立可持久化trie搞就可以了。#include#include#include#inc...
分类:
其他好文 时间:
2015-12-22 22:45:23
阅读次数:
277
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3166按权值从大到小排序然后倒序插入set,set维护每个点的位置,然后区间就是前驱的前驱+1到后继的后继-1 。然后维护一个可持久化trie就可以了。#include#include#inclu...
分类:
其他好文 时间:
2015-12-22 21:11:48
阅读次数:
307