把串倒过来插进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
Xor SumTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others)Total Submission(s): 4445 Accepted Submission(s): 652Problem ...
分类:
其他好文 时间:
2015-12-22 13:15:55
阅读次数:
126
/*直接用字典树,输入输出的格式和重要。坑死了。直接用scanf也可以,但我用自定义的输入会快一些。欢迎交流1370632684@qq.com*/#include#includeconst int maxx=15;const int maxx1=5000;/* 单词查找需要用字典树处理,直接循环查....
分类:
其他好文 时间:
2015-12-22 10:20:05
阅读次数:
213
搞成前缀和然后就可以很方便地用可持久化trie维护了.时间复杂度O((N+M)*25)-------------------------------------------------------------------------#include#include#include#includeus...
分类:
其他好文 时间:
2015-12-20 22:09:00
阅读次数:
195