主席树
Vectorxj
这个作者很懒,什么都没留下…
展开
-
BZOJ 2588 [可持久化线段树][lca]
Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。 Input 第一行两个整数N,M。 第二行有N个整数,其中第i个整数表示点i的权值。 后面N-1行每行两个整数(x,y),表示点x到点y有一条边。 最后M行每原创 2016-12-22 18:44:31 · 505 阅读 · 0 评论 -
BZOJ 3673 && BZOJ 3674 [可持久化线段树]
n个集合 m个操作 操作: 1 a b 合并a,b所在集合 2 k 回到第k次操作之后的状态(查询算作操作) 3 a b 询问a,b是否属于同一集合,是则输出1否则输出0 0<n,m≤2∗1040<n,m≤2*10^4和0<n,m≤2∗1050<n,m≤2*10^5其实就是要打一个可持久化数组。 其实就是要打一个可持久化线段树QAQ 其实一直很想学来着QAQ 以前是打过动态开点线段树原创 2016-09-26 21:30:00 · 352 阅读 · 0 评论 -
Codeforces 840D [主席树]
DescriptionDescriptionqq次询问,每次询问区间[l,r][l,r]中出现次数大于⌊(r−l+1)k⌋\lfloor{(r - l + 1)\over k}\rfloor的数的最小值。SolutionSolution跟PBS和gjghfd大神打cf的vp。 这个题跟以前一道区间众数很像,发现k≤5k\le5只要查询区间第⌊(r−l+1)∗ik⌋\lfloor{(r - l +原创 2017-08-20 17:19:01 · 677 阅读 · 0 评论 -
BZOJ 3514 [LCT][主席树]
Description" role="presentation" style="position: relative;">DescriptionDescriptionDescriptionN" role="presentation" style="position: relative;">NNN个点M" role="presentation" style="position: relative原创 2017-09-19 18:20:23 · 487 阅读 · 0 评论 -
[主席树][单调栈] BZOJ 4369: [IOI2015]teams分组
SolutionSolutionSolutionki∈[Aj,Bj]ki∈[Aj,Bj]k_i\in[A_j,B_j]相当于点(Aj,Bj)(Aj,Bj)(A_j,B_j)在(ki,ki)(ki,ki)(k_i,k_i)的左上方。 那对于(ki,ki)(ki,ki)(k_i,k_i)左上方的区域,有些点是在之前操作中已经被删掉的。 剩下的一些矩形的并。 画一下图,这些矩形的下边界是不升的...原创 2018-02-28 09:42:21 · 513 阅读 · 0 评论