首先,让每一个叶节点做一次树根的话,每个路径一定至少有一次会变成直上直下的 于是对于每个叶节点作为根产生的20个trie树,把它们建到同一个广义SAM里 建法是对每个trie dfs去建,last就是父亲的那个节点;每次做一个新trie时,last给成root 然后答案就是每个节点表示的长度和 ...
分类:
其他好文 时间:
2019-01-01 18:52:58
阅读次数:
197
Xor Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others) Total Submission(s): 5864 Accepted Submission(s): 2557 Prob ...
分类:
其他好文 时间:
2019-01-01 17:19:24
阅读次数:
171
可持久化数据结构汇总 如果会了主席树之类的东西,这应该就很好理解了吧 可持久Trie主要处理的就是xor相关的问题 把维护的数转成2进制存入trie,查询的时候就从高位向低贪心,尽可能的在trie中选择表示询问值取反的儿子 ,这样才能使异或和最大 代码注释中... 例题1:P4735 最大异或和 版 ...
分类:
其他好文 时间:
2019-01-01 00:16:08
阅读次数:
427
Trie树(字典树) 树中任一结点p都对应于一个字符串S,S由从根出发走到p所经过的边上的字符构成 数据结构 操作 插入串 (复杂度为模式串长度) Trie图(AC自动机) 可以由Trie树为基础构造 终止节点:每个模式串最后一个结点 危险结点:终止节点和前缀指向危险结点的结点。 包含前缀指针(ne ...
分类:
其他好文 时间:
2018-12-30 17:25:47
阅读次数:
189
考虑对于每个子树从下往上依次考虑 对于叶子节点而言,如果可以染色,那么其$sg$值为$1$,否则为$0$ 考虑往上合并 如果选择了$x$,那么后继状态就是其所有子树 如果选了其他子树中的一点,那么后继状态的构成如图所示 也就是,到当前根为止的所有其他子树的$sg$值异或上本身 那么,我们可以考虑维护 ...
分类:
其他好文 时间:
2018-12-29 23:07:27
阅读次数:
215
题目描述 题解 我们可以先对trie树建出广义SAM,然后维护一下right集合大小(注意right集合在广义SAM上的维护方式)。 然后把匹配穿往广义SAM上匹配,假设现在匹配到了x节点,那么x的所有祖先后可以被匹配上,那么一个节点的贡献即为r[x]*(l[x]-l[fa[x]])。 维护这玩意的 ...
分类:
其他好文 时间:
2018-12-27 13:13:44
阅读次数:
348
D 乱搞题。。发现只有a[i]=1是特殊的 瞎搞一下 E 发现一段的贡献是出现次数最多的-为c个数 然后考虑分别对每种颜色做一下 然后每次只有这种颜色和他们之间是有用的 然后做个最大区间和就好了 F 。。。。我不太会啊。。 首先要造trie树 然后我并不太会复杂度优秀的dp G 傻逼最大权闭合子图题 ...
分类:
其他好文 时间:
2018-12-18 20:57:06
阅读次数:
179
"题目链接" 题解 看到异或和最大就应该想到01 trie树 我们记$S_i$为前i项的异或和 那么我们的目的是最大化$S_n$^$x$^$S_{j 1}$ $(l const int N = 600010, M = 25; define LL long long define RG registe ...
分类:
其他好文 时间:
2018-12-18 18:00:36
阅读次数:
212
(一)字符串题目的特点 ①广泛性 字符串可以看作字符类型的数组,与数组的排序、查找、调整有关 很多其他类型的题可看作字符串类型的题 ②需要掌握的概念 回文 子串(连续) 子序列(不连续) 前缀树(Trie树) 后缀树和后缀数组 匹配 字典序 ③需要掌握的操作 与数组有关的操作:增删改查 字符的替换 ...
分类:
编程语言 时间:
2018-12-15 11:58:08
阅读次数:
165
当你在搜索引擎中输入想要搜索的一部分内容时,搜索引擎就会自动弹出下拉框,里面是各种关键词提示,这个功能是怎么实现的呢?其实底层最基本的就是 Trie 树 这种数据结构。 1. 什么是 “Trie” 树 Trie 树也叫 “字典树”。顾名思义,它是一个树形结构,专门用来处理在一组字符串集合中快速查找某 ...
分类:
其他好文 时间:
2018-12-14 21:10:11
阅读次数:
268