您的位置:首页 > 理论基础 > 数据结构算法

可持久化数据结构 12 - 02 学习记录

2017-12-03 23:31 323 查看

bzoj3207 花神的嘲讽计划Ⅰ

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

bzoj3524 [Poi2014]Couriers

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

bzoj2588 Spoj 10628. Count on a tree

书上主席树裸题。

bzoj3653 谈笑风生

暴力题

线段树以深度为关键字维护 size 的和。

x,y的答案=size[x]∗min(deep[x],y)+dfs序在l[x]+1到r[x]之间且深度在deep[x]+1到deep[x]+k之间的size和

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 去减即可。主席树。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: