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