Trie树
文章平均质量分 83
空灰冰魂
=NULL
展开
-
【East!模拟赛】【Round1】【codeforces455B】题解。
A:codeforces Round#260 div1 B [a lot of games]. 题解:俩人玩游戏,有若干个字符串,每一轮都是俩人轮流念一个字母,使得当前的这些字母是其中一个字符串或者其前缀,即在字典树上走,每人走一步,走不了的人输,然后有m轮,每轮输的下一轮先手,问最后一轮谁赢? 题解: 显然这是一道博弈题,但是如果我们单纯地计算每一局是先手赢还是后手赢,那就要跪了。原创 2014-11-22 09:17:10 · 1402 阅读 · 0 评论 -
【JDFZOJ】最富有的人 Trie树+异或性质
题面: 最富有的人 Time Limit: 1 Sec Memory Limit: 64 MB Description 你经过了一段时间的打工,老板带你来到了他的私人金库。 在你的面前有n堆金子,老板要求你只能选择其中的两堆,而你的工资为这两堆金子价值的xor值,你想成为最富有的人,你就要做出最优的选择。 /* 名词解释: xor运算,原创 2015-02-03 10:50:15 · 1647 阅读 · 0 评论 -
【BZOJ3439】Kpm的MC密码 Trie+dfs序+可持久化线段树
题解: 咳咳。首先补全数据范围:对于100%的数据,1 然后乍一看题(BZ少数据范围),直接排个序,然后插入点信息来一发可持久化线段树求区间第K大、 显然存不下,那么我们可以用Trie存一下这些字符串,然后dfs序扫一遍,确定一个字符串的可查询范围。 话说用Trie树存的是反串(后缀么) 呃,今天生病了,有点犯浑,语文能力可能下降了许多。。 所以还是看代码吧。 完了我原创 2015-01-15 22:05:07 · 1666 阅读 · 0 评论 -
【POJ3764】The xor-longest Path Trie树+异或性质
题意: 多组数据、 给你一颗树, 然后求一条最长异或路径, 异或路径长度定义为两点间简单路径上所有边权的异或和。 题解: 首先无根树转有根树再在树上跑一遍算出每个点到根的异或和。 然后两点间异或路径长度就是a[i]*a[j]。 因为lca之前那一段都被异或了两次搞没了。 然后求个线性基,然后随便搞搞就可以?可以WA了! 因为那么算哪是简单路径啊,或者说,那特喵的原创 2015-02-04 15:15:21 · 2395 阅读 · 0 评论 -
【BZOJ2434】【NOI2011】阿狸的打字机 AC自动机
这是一道神题。 首先我们需要建立AC自动机,然后再建个Fail树,之后发现 如果询问a串在b串中出现了几次,那么只需要看b串在AC自动机上所有的节点中有多少个节点,在a串的结束节点在Fail树上的子树中就可以了。 然后这样做就很可以了,但是仍然不能AC, 这时我们只需要按照Fail树的dfs序建立数据结构(我写了树状数组)进行区间查询就好了。 这时对于以上的b串,原创 2015-01-19 16:48:58 · 2057 阅读 · 0 评论