
主席树
CHN_JZ
爆0 forever
展开
-
主席树——总(mu)结(ban)
以poj2104为例。 主席树就是可持久化线段树,也叫作函数式线段树,然后。。。 该干嘛干嘛,贴代码 我们先考虑每次询问都是对于1~n,我们肯定会想到离散数字,然后建一个线段树,然后寻找。 如果我们能对每个前缀【1~i】(1<=i<=n)都能建一颗线段树,那么遍历的时候不断a[R]-a[L-1]不就好了。 然后主席树就可以做到。为什么呢?因为你会发现相邻的两颗线段树有很多节点是重复的,共用原创 2017-05-01 21:14:33 · 525 阅读 · 0 评论 -
[主席树]BZOJ 3524——[Poi2014]Couriers
题目描述给一个长度为n的序列a。1≤a[i]≤n。 m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。解题思路直接上主席树。构造权值线段树,询问时不停遍历节点数最多的一边就可以了。但是要注意:最后停下的节点并不是出现次数最多的节点但对于这道题,如果有解这种方法一定正确。#include<cstdio> using原创 2017-11-26 21:12:57 · 549 阅读 · 0 评论