主席树
文章平均质量分 59
disPlayLzy_
梦在前方,路在脚下
展开
-
Luogu P2839 [国家集训队]middle___二分+主席树
题目大意:分析:考虑一个合法的答案ddd,一定满足区间内>=d区间内>=d区间内>=d的数的个数多于<d<d<d的个数,设差值为xxx,即 x>=0x>=0x>=0找到最大ddd满足x>=0x>=0x>=0,dmaxd_{max}dmax即最大中位数由于答案只可能是a1,a2..,ana1,a2..,ana1,a2..,an,考虑离散后对于每个可能的答案建立一个主席树假设bbb为aaa去重后的升序序列以bib_ib原创 2021-08-13 11:56:07 · 111 阅读 · 0 评论 -
Luogu P4587 [FJOI2016]神秘数___思维+主席树
分析:考虑一个集合al,...,ara_l,...,a_ral,...,ar能连续合成[1,x−1][1,x-1][1,x−1],即神秘数为xxx若加入一个数yyy,值域对比[1,x−1],[y+1,x−1+y][1,x-1],[y+1,x-1+y][1,x−1],[y+1,x−1+y]①若y+1<=(x−1)+1y+1<=(x-1)+1y+1<=(x−1)+1,即y<=xy<=xy<=x,则al,...,ara_l,...,a_ral,...,ar能连原创 2021-08-11 10:07:02 · 117 阅读 · 0 评论 -
HDU P4348 To the moon___主席树
题目大意:n<=1e5,d<=104,ai<=19n<=1e5,d<=10^4,ai<=1^9n<=1e5,d<=104,ai<=19分析:主席树,不过注意每次的新版本要在原版本的基础上,把所有能被影响的区间对应的点开成新节点,并且在新节点上打上lazy,由于新版本跟旧版本的线段树间可能公用顶点,所以lazy不能下传,即标记永久化代码:#include<iostream>#include<cstdio>#inclu原创 2021-08-11 08:09:44 · 88 阅读 · 0 评论 -
Luogu P3919 [模板]可持久化线段树___主席树
题目大意:给出长度为nnn的序列,mmm次操作,操作包括1.回到前面某个版本,将该版本中的某个数修改后,将修改的版本作为该操作后的新版本2.回到前面某个版本,查询该版本中序列的第k个数,并将该版本复制作为该搞作后的新版本(完全相同)n,m<=1e6n,m<=1e6n,m<=1e6修改前后任意序列中的数,−109<-10^9<−109<数值<109<10^9<109分析:对整个序列的编号1到n1到n1到n建立主席树,每次在新版本建的新树链原创 2021-08-10 21:02:15 · 99 阅读 · 0 评论 -
Luogu P2633 Count on a tree___主席树+lca
题目大意:分析:历史版本为父亲,现在版本为儿子,从树根开始建立主席树对于u,vu,vu,v间路径的信息,可以转换成uuu版本的树信息+vvv版本的树信息-lca(u,v)lca(u,v)lca(u,v)版本的树信息-lca(u,v)父亲lca(u,v)父亲lca(u,v)父亲版本的树信息第k小就直接计算即可代码:#include<iostream>#include<cstdio>#include<cmath>#include<queue&g原创 2021-08-09 18:37:16 · 98 阅读 · 0 评论 -
Luogu P3567 [POI2014]KUR-Couriers___主席树
题目大意:分析:若区间[l,r][l,r][l,r]存在,则该区间的第(r−l+1)/2+1(r-l+1)/2+1(r−l+1)/2+1一定是该数用主席树求出来判断即可代码:#include<iostream>#include<cstdio>#include<cmath>#include<queue>#include<cstring>#include<algorithm>#define N 500005us原创 2021-08-09 18:28:49 · 106 阅读 · 0 评论 -
luogu P2468 [SDOI2010]粟粟的书架___前缀和+主席树+二分
题目大意:给出R行C列的矩阵P,M个询问给出R行C列的矩阵P,M个询问给出R行C列的矩阵P,M个询问每次询问给出x1,y1,x2,y2描述一个子矩阵,以及一个h1每次询问给出x1,y1,x2,y2描述一个子矩阵,以及一个h1每次询问给出x1,y1,x2,y2描述一个子矩阵,以及一个h1要求回答最少在子矩阵中选取多少个数才能>=h1要求回答最少在子矩阵中选取多少个数才能>=h1要求回答最少在子矩阵中选取多少个数才能>=h150%:R,C<=200,M<=200000R,C原创 2021-08-09 07:35:45 · 103 阅读 · 0 评论 -
牛客OI周赛10 B Taeyeon的困惑___二分/主席树+树状数组
题目大意:在一个长度为nnn的区间中,子区间[1,m],[2,m+1],[3,m+2],...,[n−m+1,n][1,m],[2,m+1],[3,m+2],...,[n-m+1,n][1,m],[2,m+1],[3,m+2],...,[n−m+1,n]中每个区间前K小之和的和是多少。1≤n,m≤105,0≤k≤m≤n,0≤a[i]≤105,m接近于n/21≤n,m≤10^5,0≤k≤m≤n,...原创 2019-05-27 20:09:41 · 144 阅读 · 0 评论