Trie
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[ARC087]E - Prefix-free Game Trie树+SG函数
题面 考虑把所有输入的字符串看成一棵二叉Trie树(深度为LL),那么一个字符串所在的点到根节点的路径及其子树中不能有其他的点。 现在双方的操作就是在Trie树上轮流放点,也就是取走一个以xx为根的子树(要满足xx到根及其子树中没有点),谁不能取谁输。可以发现,在一棵完整的深度为TT的树中取走一个深度为SS的子树,会生成出深度为S,S+1,...,T−1S,S+1,...,T-1的子树各一个。原创 2017-12-25 21:55:22 · 634 阅读 · 0 评论 -
[BZOJ4477][JSOI2015]字符串树 可持久化Trie树
首先考虑树上差分,xx到yy的答案可以差分成xx到根+yy到根-2∗lca(x,y)2*lca(x,y)到根的答案。 考虑如何维护每个点到根路径上的所有字符串,想到Trie树,又因为每个点和其父亲只相差一个串,每个串长又不超过1010,所以考虑用可持久化Trie树,这样树上节点就不会超过所有串总长。树上每个点记录sizesize表示在其子树中有多少个串。 每次询问的时候只要在Trie上跑完询问串原创 2017-12-18 22:20:27 · 581 阅读 · 0 评论 -
[JZOJ5735]身份证 Trie树+二维偏序
我们可以对所有人的三个串分别拿出来建三棵Trie树,一个人在Trie树上的位置就组成一个三元组(a,b,c)(a,b,c)(a,b,c),然后询问相当于三个指针在三棵Trie树上移动,每次询问有多少个(dfnai,dfnbi,dfnci)(dfnai,dfnbi,dfnci)(dfn_{a_i},dfn_{b_i},dfn_{c_i})在三个特定的区间内。直接三维偏序再面向数据开空间再减减枝是可以...原创 2018-05-22 16:50:57 · 265 阅读 · 0 评论