数据结构——树链剖分
MILLOPE
这个作者很懒,什么都没留下…
展开
-
树链剖分
写在前面有些题目可能会让我们维护一些树上的信息例如:如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和操作3: 格式: 3 x z 表示将以x为根节点的子树内所有节点值都加上...原创 2019-07-15 20:17:13 · 193 阅读 · 2 评论 -
P3178 [HAOI2015]树上操作(树链剖分)
题目题解树链剖分板子题树链剖分讲解codecodecode#include <complex>#include <cstring>#include <cctype>#include <cmath>#include <list>#include <map>#include <set>#i...原创 2019-07-15 21:37:14 · 107 阅读 · 0 评论 -
LCA(树链剖分)
题目emmm求树上两点的lcaluogu P3379 【模板】最近公共祖先(LCA)题解树链剖分的讲解树剖的思路:对于在同一条链上的两个点,深度小的即为lca对于不在同一条链上的两个点,可以把它们跳到同一深度,同理即可codecodecode#include <map> #include <set> #include <list>...原创 2019-07-16 17:52:10 · 282 阅读 · 0 评论 -
P2590 [ZJOI2008]树的统计(树链剖分)
题目题目描述一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:I. CHANGE u t : 把结点u的权值改为tII. QMAX u v: 询问从点u到点v的路径上的节点的最大权值III. QSUM u v: 询问从点u到点v的路径上的节点的权值和注意:从点u到点v的路径上的节点包括u和v本身输入输出格式输入格式:输...原创 2019-07-16 21:04:21 · 110 阅读 · 0 评论 -
luogu P4114 Qtree1(树链剖分)
题目给定一棵n个节点的树,有两个操作:CHANGE i ti 把第i条边的边权变成tiQUERY a b 输出从a到b的路径中最大的边权,当a=b的时候,输出0输入输出格式输入格式:第一行输入一个n,表示节点个数第二行到第n行每行输入三个数,ui,vi,wi,分别表示 ui,vi有一条边,边权是wi第n+1行开始,一共有不定数量行,每一行分别有以下三种可能...原创 2019-07-19 20:28:38 · 157 阅读 · 0 评论 -
CF609E Minimum spanning tree for each edge(树链剖分+MST)
题目给你n个点,m条边,如果对于一个最小生成树中要求必须包括第i(1<=i<=m)条边,那么最小生成树的权值总和最小是多少。输入格式第一行n,m后面m行每行u,v,w代表一条边输出格式m行,第i行一个整数代表包括第i条边时的最小权值和CF609E题解先对原图跑一遍最小生成树对于在最小生成树中的边直接输出最小生成树的边权和将其余边加进去后(其实不用真的加进去),会...原创 2019-07-17 21:06:11 · 159 阅读 · 0 评论 -
[NOI2015]软件包管理器(树链剖分)
题目描述Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debian/Ubuntu使用的apt-get,Fedora/CentOS使用的yum,以及OSX下可用的homebrew都是优秀的软件包管理器。你...原创 2019-09-28 20:13:19 · 94 阅读 · 0 评论