线段树
文章平均质量分 86
Leo_Riddle
AFO
展开
-
洛谷 P2023 [AHOI2009]维护序列(bzoj P1798 [Ahoi2009]Seq 维护序列seq)
传送门前天看到这道题觉得线段树水过,准备敲一敲分块。然后就没有然后了wa了十发。今天看到就顺手水了水。。最近被拓展lucas和ahoi2017玩废,我恐怕就是一只咸鱼了。。注意标记下传要加法标记要先乘再加,然后就没什么了。代码:#include#include#define ll long longusing namespace std;const int Maxn=1原创 2017-07-09 21:02:55 · 352 阅读 · 0 评论 -
bzoj P1036 [ZJOI2008]树的统计Count
传送门嗯,一道裸裸的树剖。代码:#include#includeusing namespace std;const int Maxn=30005;const int oo=2147483647;struct segment{int v,next;}e[Maxn*2];struct Qtree{int l,r,mx,sum;}t[Maxn*4];int size[Max原创 2017-07-31 00:13:49 · 443 阅读 · 0 评论 -
bzoj P4034 [HAOI2015]树上操作
传送门这道题树剖也蛮裸的,观察一下下标数组我们发现每一棵子树在线段树的下标肯定是连续的,想想dfs的过程就知道了,然后我们就能用树剖维护子树了。通过这题我们也知道了树剖不仅能维护链,也能维护子树。这题也有更高超的方法,用线段树维护dfs序,对于dfs序中出现的节点我们一个取正一个取负,就可以直接上线段树了。树剖代码:#include#include#includeusin原创 2017-07-31 01:07:01 · 473 阅读 · 0 评论 -
bzoj P3531 [Sdoi2014]旅行
传送门这道题学到了动态开空间线段树的写法,感觉跟主席树有一定的类似。说一下怎么动态开吧。首先回忆一下线段树的过程,我们发现对于这题,每一颗线段树都有很多的子结点是0,也就是说这些节点都是没用的,所以我们考虑对于每一个非0叶子结点到根都是非0的,但是其他都是为0的,都是没有用的,那么为何要为它们开内存存储呢,所以我们换种方式存储对每一个节点都有一个编号,然后结构体内的l,r都是存的l原创 2017-07-31 00:56:50 · 399 阅读 · 0 评论