树链剖分
Rainbow6174
这个作者很懒,什么都没留下…
展开
-
NOI 2015 软件包管理器 题解&代码
简单的树链剖分= =不过第一次写真正意义上的树剖坑了我整整五个小时…写出来的代码也不算模板级别的思路,模板还得再找几道题习惯习惯再整理 **对了= =才没有抄过模板呢…在下的模板都是自己根据写法和记忆的难易自己整理出来的**调了两天,题目已经忘了,等我去整理一下 给出了一颗以0为根节点的Bool类型树,对于一个节点x有两个操作: 1、将该节点到根节点的路径上所有节点值都修改为1 2、将以该节原创 2015-12-11 17:43:33 · 818 阅读 · 0 评论 -
BZOJ 1036 [ZJOI2008]树的统计 Count 题解&代码
题意:一棵树上有n个节点,编号1到n,每个节点i有权值w[i]。 有三种操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身题目非常浅显易懂= =线段树可以用maxv[]和sum[]保存状原创 2015-12-12 16:54:28 · 569 阅读 · 0 评论 -
BZOJ2243 [SDOI2011]染色 题解&代码
题意: 给定一棵有n个节点的树和m个操作,操作有: C a b c 将树上a到b路径上所有点都染成颜色c; Q a b 询问树上a到b路径上的颜色段数量(连续相同颜色是同一段) 思路: 树上的路径!树链剖分! 可惜智障了…没想到怎么维护颜色段【妈的这么简单的维护当时居然不会 树剖划分一下树,然后线段树维护每一段的最左lc[]最右rc[]和不同颜色色段数量和sum[],查询的时候关于判断原创 2016-04-14 17:26:29 · 2994 阅读 · 0 评论 -
BZOJ4034 [HAOI2015]T2 题解&代码
题意: 有一棵有N个节点的树,以节点1为根,且点上有权。 有M个操作,分为三种: 操作 1 把节点x的点权增加 a 操作 2 把以节点x为根的树中所有点的点权都增加a 操作 3 求节点x到根的路径中所有点的点权和分析: 操作1和操作2本质上是没有区别的,区间修改和单点修改显然可以合并,求dfs序后线段树区间维护就可以了 操作3是涉及路径的查询,和树剖很类似,但是比树剖简单很多【比如我求的原创 2016-06-01 21:32:05 · 1347 阅读 · 0 评论