【树链剖分】
墓华
这个作者很懒,什么都没留下…
展开
-
数据结构 —— 树链剖分小结
定义: 即轻重链剖分,通过轻重边剖分将树分为多条链,然后再通过数据结构来维护每一条链。 主要用于解决 树上 对 点权 的 区间操作 (更新/查询) 问题。 相关概念: 重儿子:对于 一个 非叶结点,其所有子结点中 子树结点数最多 的 子结点(只选一个) 轻儿子:对于 一个 非叶节点,其 除重结点以外 的 子结点 重边:连接 非叶结点 和其 重儿子 的 边 轻边:连接 非叶结点 和其 轻儿子 ...原创 2019-08-16 10:00:37 · 197 阅读 · 0 评论 -
洛谷 P2486 [SDOI2011]染色(线段树区间更新,树链剖分)
链接: 洛谷 P2486 [SDOI2011]染色 题目描述 输入格式 输出格式 对于每个询问操作,输出一行答案。 输入输出样例 输入 #1 6 5 2 2 1 2 1 1 1 2 1 3 2 4 2 5 2 6 Q 3 5 C 2 1 1 Q 3 5 C 5 1 2 Q 3 5 输出 #1 3 1 2 分析: 树上区间操作,首先进行树链剖分。 对于每一条链,线段树进行区间维护,对...原创 2019-08-16 11:14:11 · 204 阅读 · 0 评论 -
洛谷 P2146 [NOI2015]软件包管理器(线段树区间更新,树链剖分)
链接:洛谷 P2146 [NOI2015]软件包管理器 题意: 共有nnn个软件包,编号000 ~ n−1n-1n−1,除000号软件包以外的其他软件包均需要依赖其他软件包才能安装。所以,若要安装一个软件包,除000号软件包外都需要已经安装了其依赖的软件包;若要卸载一个软件包,依赖该软件包的软件包都会被卸载。 有q个操作,分为如下222种: install x:表示安装软件包x uninstall...原创 2019-08-16 11:48:05 · 185 阅读 · 0 评论