
主席树
文章平均质量分 59
Sdywolf
沃是一只蒟蒻
展开
-
【康复训练】【主席树】【51nod】1175 区间中第K大的数
Description 一个长度为N的整数序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,第K大的数是多少。 例如: 1 7 6 3 1。i = 1, j = 3,k = 2,对应的数为7 6 3,第2大的数为6。 题解 主席树 代码 #include<cstdio> #include<cstring> #include<al...原创 2018-05-26 15:09:09 · 285 阅读 · 0 评论 -
【学习笔记】主席树
主席树,又称可持久化线段树,顾名思义,就是一种可以访问历史版本的数据结构. 所谓访问历史版本,就是在每次修改了线段树以后,并不把原先的树破坏掉,而是在原来的树上新加入一些节点,使得这些节点与原来的线段树的一部分构成了修改后的线段树. 考虑线段树的修改操作。由于每次修改最多只会修改lognlognlogn个节点,而对于其他的节点,新旧线段树都是可以共用的,所以,我们只需要将这些对于这些修改过的节...原创 2018-05-25 15:38:12 · 1324 阅读 · 0 评论 -
【康复训练】【主席树】【BZOJ】1112: [POI2008]砖块Klo
Description N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任务. 题解 主席树。只要求出中位数、比中位数小的数的总和和个数、比中位数大的数的总和和个数。 代码 #include<cstdio> #include<c...原创 2018-05-27 16:34:28 · 450 阅读 · 0 评论 -
【Codechef】【主席树维护DP】【SnackDown 2017 Online Elimination Round】PREFIXOR: 异或前缀
如果能处理出每个点往右最多扩展到rgt[i]rgt[i]rgt[i],那么答案就是 ∑i=lrmin{rgt[i],r}−i=∑i=lrrgt[i]−∑i=lri−∑i=l&rgt[i]>rrrgt[i]−r∑i=lrmin{rgt[i],r}−i=∑i=lrrgt[i]−∑i=lri−∑i=l&rgt[i]>rrrgt[i]−r \sum_{i=l}^{r}min\...原创 2018-08-24 10:30:33 · 717 阅读 · 0 评论