![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
主席树
文章平均质量分 77
Love_mona
这个作者很懒,什么都没留下…
展开
-
主席树练习1——P3834 【模板】可持久化线段树 1(主席树)
蒟蒻的垂死挣扎主席树真可怕。还是之前学过一些嘛,不至于完全懵逼。重新打一遍模板练练手。这个解决的是经典的区间第k大问题,开值域线段树维护,做线段树减法即可。// luogu-judger-enable-o2#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>...原创 2018-04-03 14:18:02 · 185 阅读 · 0 评论 -
主席树练习2——P2633 Count on a tree
蒟蒻的垂死挣扎接下来做经典题。这个是树上路径第K大,开始十分懵逼,感觉是树剖,但是仔细想想又不对,再仔细想想就发现自己是个傻子,这里直接对父节点新开树就可以了,即状态由父节点转移,相当于点到根的前缀和,自己yy一下就可以想出查询时候的线段树减法怎么做,然后就可以轻松ac啦。// luogu-judger-enable-o2#include<iostream>#include<...原创 2018-04-03 14:22:29 · 205 阅读 · 0 评论 -
主席树练习3——SP3267 DQUERY - D-query
蒟蒻的垂死挣扎求蛇皮的区间不重复的数个数。每次记录每个值最新的出现位置,查询时即查询右端点那棵树,这样可以保证每种数都被包括到且不重复,在外面开一个vis记录上一次出现位置即可实现。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<c...原创 2018-04-03 14:26:50 · 184 阅读 · 0 评论 -
主席树练习4——P3567 [POI2014]KUR-Couriers
蒟蒻的垂死挣扎这题求区间是否有数的个数超过一半,令人窒息。直接维护该区间有多少个数,查询的时候一层层往下查,查到最后就返回来,查不到就是没有,就这么简单粗暴。// luogu-judger-enable-o2#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>...原创 2018-04-03 14:32:25 · 218 阅读 · 0 评论 -
主席树练习5——P3168 [CQOI2015]任务查询系统
蒟蒻的垂死挣扎这题改得我心力憔悴,自己yy一下发现就是个差分,在l 处 +1,r+1 处 -1即可,然后按照时间排序,一项项处理即可,然后我就螺旋升天爆炸了。记得不用修改的时间点也开一棵 ORZ。// luogu-judger-enable-o2#include<iostream>#include<cstdio>#include<cstdlib>#in...原创 2018-04-03 14:35:57 · 228 阅读 · 0 评论 -
主席树练习6——P2839 [国家集训队]middle
蒟蒻的垂死挣扎这题写得。。。。不想说什么了。首先,对于每次询问,我们可以知道,范围内比中位数小的数是要等于比他大的数的,而这题有重复就意味着小的数与大的数之差要在这个中位数个数的范围内,为了取到最大,我们自然是要它取到极致。我们考虑用二分答案来取到这个值,每次如果大于等于它的数 要大于等于 比他小的数,则这个答案是满足的,就可以继续缩范围,这样我们就得到了一个不错的思路。那么我们如何快速解决che...原创 2018-04-03 14:58:20 · 278 阅读 · 0 评论