主席树
文章平均质量分 70
阿_波_
这个作者很懒,什么都没留下…
展开
-
静态主席树_POJ 3784
写在前面最近在看动态修改的主席树,但是因为学校选修算法课没所以做了几个题,突然看到一个十分熟悉的身影,哈哈,但是还是wa了一遍格式错误,这个就是一个裸的静态主席树程序#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <queue&...原创 2018-07-12 19:04:29 · 169 阅读 · 0 评论 -
静态主席树
写在前面我觉得后面参考文献中的视频讲解的很好,大家可以直接看一下那个视频!!首先主席树解决什么样的问题?最经典的问题就是:区间第k小问题(也就是指定一个区间,要求求出这个区间中第k小的数字)在搞懂什么是主席树之前,我们要先对权值线段树有一定的了解,下面我们就先说一下权值线段树,然后详细说一下主席树以及主席树程序的实现......权值线段树权值线段树:每个叶子节点的数值表示的是:数组中含有这个数值的...原创 2018-07-06 16:08:29 · 229 阅读 · 0 评论 -
主席树的另一种用法
之前只是知道主席树可以用来求解任意区间的第k大问题,在牛客上遇到一个题之后,看到大神大程序,知道了主席树的另一种用法,用来求解区间中满足大小条件的数量问题,但是前提是数组最大数不能太大 首先我们要建立一棵,树的大小就是数组的最长长度,然后更新主席树,要求区间[l,r]满足条件的大小时,和主席树的一致,也是在第r棵树和l-1棵树之间查询第k大的元素,但是返回值是k之前元素的个数,即我们在主席树中k...原创 2018-11-18 21:46:17 · 201 阅读 · 0 评论 -
动态主席树
写在前面 相对于静态主席树,动态主席树意味着,每个节点可能会修改称为新的值,按照我们平时的想法,一定是在之前要删除的位置上进行-1操作,然后再新插入的位置上+1 解析 静态主席树我们在每个节点处创建一个权值线段树,然后在区间[l,r]求解时,使用第r棵线段树 - 第l-1棵线段树,在这个线段树上进行查询第k大元素的离散位置,然后根据之前进行离散的结果,得到最终的位置 使用ZOJ-2112作...原创 2018-11-23 11:13:20 · 819 阅读 · 0 评论