可持久化数据结构 12

来源:互联网 发布:audition mac无法验证 编辑:程序博客网 时间:2024/06/10 05:16

bzoj3207 花神的嘲讽计划Ⅰ

询问的长度一致,所以考虑哈希,就可以主席树乱搞了。

bzoj3524 [Poi2014]Couriers

直接在主席树上查询,每次往 size 较大的儿子走。这是裸题吧。

bzoj2588 Spoj 10628. Count on a tree

书上主席树裸题。

bzoj3653 谈笑风生

暴力题
线段树以深度为关键字维护 size 的和。
xy=size[x]min(deep[x],y)+dfsl[x]+1r[x]deep[x]+1deep[x]+ksize

bzoj2683 简单题

主席树动态开点,这是个不错的技巧。

bzoj3551 ONTAK2010 Peaks加强版

kruskal 建一棵树。倍增寻找 u 到根路径上深度最小且点权小于等于 x 的点,这个节点的子树就是 v 所能到达的所有点。子树第 k 小值查询,用 dfs+主席树解决。

Gym - 101237A - MEX-Query

主席树里每个值的位置存当前该值出现的最右位置。然后就是很简单的查询。如果左半值域的最小值<l,则说明左半值域有值未在[l,r]出现,则查询左子树;否则查询右子树。

bzoj3514 Codechef MARCH14 GERALD07加强版

LCT 维护每个联通块的最大生成树。同时用数组 a[i] 记录 i 这条边可以替代的边的编号。查询 [l,r] 时只需要统计区间 [l,r] 中有多少个数小于 l ,用 n 去减即可。主席树。

原创粉丝点击