03 2017 档案
摘要:别人的两篇博客。 传送门1 传送门2 摘录: 其中T为主串,P为模式串。 其实就是在T中找P。 其中next数组存的是“部分匹配值”。 "部分匹配值"就是"前缀"和"后缀"的最长的共有元素的长度。以"ABCDABD"为例, - "A"的前缀和后缀都为空集,共有元素的长度为0; - "AB"的前缀为[
阅读全文
摘要:传送门 洛谷P2580的一个水题,用啥都能过,不过为了练习一下刚刚学会的字典树,还是认真做一下吧。 #include <cstdio> #include <cstring> using namespace std; #define idx(x) x - 'a' int n, m, nex; stru
阅读全文
摘要:树状数组 支持单点修改 #include <cstdio> using namespace std; int n, m; int a[500001], c[500001]; int lowbit(int x) { return x & -x; } int sum(int x) { int ans =
阅读全文
摘要:什么是Trie树? 形如 其中从根节点到红色节点的路径上的字母所连成的字符串即为一个Trie树上所存的字符串。 比如,这个trie树上有ab,abc,bd,dda这些字符串。 至于怎么构建和查找或添加。 简单的一批,看代码就能看懂。 不过Trie树所占的空间很大,有一些优化,暂时还没学。 1 #in
阅读全文