[BZOJ4212]神牛的养成计划(trie+可持久化trie)

题目描述传送门题解这个tag好奇怪啊 首先将字符串按照字典序排序,这样有相同前缀什么的串就到一起了 然后依次将串插入一个trie,每一个点维护一下能匹配到这个点的串的左右端点 然后将每个串反过来建立可持久化trie 对于每一个询问,首先在trie上匹配一下,看匹配到的左右端点是什么。然后在...

2017-03-05 20:23:24

阅读数 816

评论数 0

[BZOJ2741][FOTILE模拟赛]L(trie+分块)

题目描述传送门题解首先将序列分块,L(i),R(i)分别表示第i个块的左右端点 设f(i,j)表示[L(i),j]的最大异或和,g(i,j)表示[j,R(i)]的最大异或和 那么对于询问[l,r] 如果在同一块中,直接暴力O(n)O(n) 如果在不同的块中,假设所在的块为li,ri,那么a...

2017-02-13 23:08:15

阅读数 447

评论数 0

[BZOJ3166][Heoi2013]Alo(可持久化线段树+可持久化tire树)

题目描述传送门题解xorxor的操作很容易想到可持久化trie树,但是关键是次大值比较头疼。 可以发现,如果可以维护出来每一个点向前和向后第一个以及第二个比它大的值的位置就可以确定区间了。 实际上,可以用可持久化线段树的思想来搞。将所有的值从大到小排序,然后按照每一个点的位置插入线段树,相当于...

2016-12-15 16:41:21

阅读数 516

评论数 0

[BZOJ3261]最大异或和(可持久化trie树)

题目描述传送门题解设sum[i]sum[i]表示1...i1...i的异或和,那么题目要求的即为sum[i]sum[i]^sum[n]sum[n]^xx。由于sum[n]sum[n]和xx都是定值,那么我们需要维护的就是sum[i]sum[i]。 将sum[i]sum[i]转化为二进制数,然后建...

2016-12-15 16:37:55

阅读数 379

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭