对原序列取前缀异或值,变成pre[1...N],然后询问等价于求max{a[N]^x^pre[i]}(l-1#define INF 2147483647#define N 300001#define MAXBIT 25int root[N=0;--i) { int Bit=(...
分类:
其他好文 时间:
2015-03-06 12:39:52
阅读次数:
105
本文使用压缩trie树实现字符串检索的功能。首先将字符串通过编码转化为二进制串,随后将二进制串插入到trie树中,在插入过程中同时实现压缩的功能。字符编码采用Huffman,但最终测试发现不采用Huffman的方法不仅省下了编码时间,同时trie树的插入时间也有所减少。 1 /** 2 ...
分类:
其他好文 时间:
2015-03-05 14:45:20
阅读次数:
495
“strcmp()” Anyone?
strcmp() is a library function in C/C++ which compares two strings. It takes two strings as input parameter and decides which one is lexicographically larger or smaller: If t...
分类:
其他好文 时间:
2015-03-04 19:08:41
阅读次数:
182
下午连续看了两题的AC自动机+DP题,发现都有点规律了,都是由trie图循环赋值,按照结点一步步向外推的,而且状态设的也很相似。。。dp[i][j][k],一开始以为至少k个是可以相同的,其实这k个串应该是不同的,于是就可以按照二进制压缩这M个串,1表示选上了这个串。注意一下fail指向的结点要与当...
分类:
其他好文 时间:
2015-03-03 20:37:44
阅读次数:
247
3942 - Remember the Word
Time limit: 3.000 seconds
Neal is very curious about combinatorial problems, and now here comes a problem about words. Knowing that Ray has a photographic memory an...
分类:
其他好文 时间:
2015-03-03 18:34:40
阅读次数:
151
什么鬼,真的是有负数的吗?我在字符加上了128才过了。dp[i][j],经过i步到达j状态的路径数。转移很容易了,建个trie图就可以,由前一步可连通到和更新即可。另外,要用到大数和AC自动机DP 1 #include 2 #include 3 #include 4 #include ...
分类:
其他好文 时间:
2015-03-03 01:04:45
阅读次数:
177
枚举每个文章里已经在Trie中被标记为可能是分割处的字符,然后再从此处跑Trie,继续向后标记。由于单词数很少,因此复杂度可以接受,O(n*m*Len)。#include#includeusing namespace std;int n,m,L;char s[1024*1024+100];int c...
分类:
编程语言 时间:
2015-03-02 18:29:44
阅读次数:
170
题意:已知:给出n个结点的树,定义:两结点间的权值为两点之间所有边相异或的值.求:树中的某两点间的最大权值.
思路:先说简单一点的题:有道CowXor,是一串线性序列,求某连续段异或的最大值,这题的思路是先求前i项序列相异或的值Si,所以x到y的连续异或就是Sx^Sy ,因为a^b = (a ^ c) ^ (b ^ c).
这题同样是这个思路把线性拓展到树上,先求任何点到某一定点的连续...
分类:
编程语言 时间:
2015-03-01 13:17:12
阅读次数:
160
今天就这题照着别人的代码学了字典树...
这篇论文:http://wenku.baidu.com/view/d2ba836fb84ae45c3b358ca8.html介绍了各种字典树的运用,长了好多姿势,很有启发性
归纳一下字典树的应用:
检索(主要功能)
串排序
在DP中减少无效的状态转移
最长公共前缀问题(LCP)转化成LCA
tire+KMP 构成AC自动机数据结构
...
分类:
其他好文 时间:
2015-02-28 08:57:53
阅读次数:
165
题意:输入众多字符串(中间有空格),按字典序输出,且输出每个字符串所占整个字符串数量的百分比
思路:用字典树的先序遍历,遍历到字符串的末尾便输出并算出百分比即可
这题同样用C++stl map 可以很好解决,但毕竟题目是字典序,比如逆序就字典树同样可以解决
//1632K 782MS
#include
#include
#include
#include
using namespace st...
分类:
编程语言 时间:
2015-02-28 08:55:35
阅读次数:
168