可持久化数据结构
cervoliu
这个作者很懒,什么都没留下…
展开
-
JZOJ 3547【清华集训2014】mex
Description有一个长度为n的数组{a1,a2,…,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。Analysis题目描述使人神清气爽。在线可以用可持久化权值线段树,第i棵树记录a[1~i]各个值出现的右端点。然后根据线段树的特性查找下去即可。离线将询问区间按右端点排序。然后直接上权值线段树,方法如上述在线做法。Code我打的是在线做法。 事实证明离线大法大好!离线大法大好!原创 2016-05-13 20:10:10 · 719 阅读 · 0 评论 -
【JZOJ 4488】【GDOI 2016 Day1】第四题 疯狂动物城
Description给出一个N个节点的数,和M次操作。每次操作的类型如下: 1,x,y,z,将x到y的路径上的ai加上z 2,x,y,询问x到y的路径上,ai*(1+2+..+n-i)的和 3,x,将所有的a变更回第x次修改之后的状态。 强制在线。 N,M<=10^5.Analysis裸题——码农一道! 可持久化线段树+树链剖分兹磁树上的区间查询&修改。 代码量飞飞飞飞起~原创 2016-06-12 20:58:39 · 671 阅读 · 0 评论 -
可持久化线段树 简介
可持久化线段树,听起来像线段树的升级版。但是这个东西有什么用呢? 一道例题:最大值加强版 在N(1<=N<=100000)个数A1…An组成的序列上进行M(1<=M<=100000)次操作,操作有两种: 1 x y:表示修改A[x]为y。 2 k x y:询问第k次修改后x到y之间的最大值。这原本是一道线段树的入门题,但是增加了“第k次修改后的”这个限制条件,辣鸡的线段树就不可做原创 2016-05-14 14:01:43 · 7231 阅读 · 4 评论 -
【JZOJ 5382】 数列 口胡
Description给出长度为n(n<=20000)的{ai},现有m(m<=20000)个询问,每次询问给出l,r,需要回答对于任意l<=i<=j<=r,最大的ai xor ai+1 xor...xor aja_i\ xor\ a_{i+1}\ xor ...xor\ a_jAnalysis首先显然要将a取一个前缀异或s,最小化的那坨东西就是sj xor si−1s_j\ xor\ s_{i-1原创 2017-10-12 21:31:30 · 292 阅读 · 0 评论 -
【bzoj 4771】 七彩树
Description给定一棵树,有n个点,点有颜色,颜色范围[1,n]。 现有m个询问,形如x d 表示询问点x子树内与x深度差不超过d的点集中,不同的颜色种类数 强制在线 要求做到nlogn 1<=n<=100000 1<=m<=100000离线离线的话方法很多,其中一种是线段树合并。 开一棵线段树,下标是颜色,若该颜色出现过,那么值是最浅深度 再开一棵线段树,下表是深度,值是子树原创 2017-12-15 21:54:00 · 674 阅读 · 0 评论