
主席树
Exception2017
OI总结
展开
-
p3834&hdu2665 静态区间第k小 主席树(模板)
原题:https://www.luogu.org/problemnew/show/P3834 题解:求区间中第k小的元素。这里要用到主席树。主席树的思想是对数列的每一个前缀都建一个线段树。由于数据很大首先考虑离散化。在处理[l,r]的区间时,只要找到第l-1棵树和第r棵树,对应节点的差就是该询问对应区间信息。但由于这样做内存很大,我们考虑动态开点,只需要建一颗空树,开用到的点就行了,空间复杂度为...原创 2019-04-04 22:49:37 · 174 阅读 · 0 评论 -
[SDOI2010]粟粟的书架 主席树+二分+dp
原题:https://www.luogu.org/problemnew/show/P2468 题解:题目的意思是在子矩阵中选出最小的数量,使这些数的和大于等于h。注意到有一半的数据明显不同,先考虑50分,暴力的做法是将这些数排序,从大往小选,但这样显然不行。注意到pi.j并不大,考虑dp的思想,val[i][j][k]表示(1,1)-(i,j)的矩阵所有大于等于k的数的和,num[i][j][k...原创 2019-04-05 21:23:23 · 137 阅读 · 0 评论 -
[SDOI2013]森林 主席树+启发式合并+LCA
原题:https://www.luogu.org/problemnew/show/P3302 题解:维护一种数据结构,在一棵树上就两点路径上的第k小,合并两颗树。首先考虑路径上的第k小,很明显时主席树,但是是树上的,和数组类似只用复制他的父节点的信息就行了。查询时x-y之间的信息应该是:T[x]+T[y]-T[lca]-T[fa[lca]]正好是x->y路径上的信息(就像数组T[y]-T[...原创 2019-04-05 23:48:19 · 119 阅读 · 0 评论 -
CF484E Sign on Fence 主席树+二分
原题:http://codeforces.com/contest/484/problem/E 题解:要求[l,r]中长度为k的子序列最小值最大。通过分析可以发现,k长的子序列不好求,类似于TJOI2016排序的那一题,二分一个值mid,将所有大于等于mid的都给1,其余都给0,只要查询给定区间最长连读1的长度就好了。尝试用一下线段树,需要对每一个值都建一颗线段树,同时还要不停的修改,这样显然是不...原创 2019-04-20 21:52:50 · 239 阅读 · 0 评论