树链剖分
文章平均质量分 63
chenxiaoran666
人要有梦想,不然和咸鱼有什么区别!
展开
-
【BZOJ1036】[ZJOI2008] 树的统计Count(一道可怕的模板题:树剖+线段树)
点此看题面 这真的只是一道模板题:一个树链剖分套上一个线段树(令我窒息的组合)。 既然是模板题,那就直接上代码吧: #include<bits/stdc++.h> #define N 30000 using namespace std; int n,ee=0,tot=0,a[N+5],lnk[N+5],fa[N+5],Size[N+5],De原创 2018-07-19 22:04:37 · 271 阅读 · 0 评论 -
树链剖分学习笔记
前言 听说树链剖分是普及组内容,但是我一直不会,最近学了一下,还做了道板子题,感觉挺有收获的。 简介 树链剖分,关键就在于剖分二字。 我们可以将一棵树(如上图所示)按照子树的大小将其节点划分成两部分:重节点和轻节点(如下图所示)。 其中红色节点为重节点,蓝色节点为轻节点,红边为重链,蓝边为轻链。 概念 在刚刚的简介中,出现了一些与树链剖分相关的概念。如下: 重...原创 2018-08-02 19:10:31 · 280 阅读 · 0 评论 -
【BZOJ2243】[SDOI2011] 染色(树链剖分)
点此看题面 大致题意: 有一棵nnn个节点的无根树和mmm个操作,且每个节点有一个颜色。操作有两种:一种是将两点树上路径之间所有点染成颜色ccc,另一种是询问两点树上路径之间颜色段的数量。 树链剖分 这道题的核心算法应该是树链剖分。 LinkLinkLink 树链剖分 详见博客 树链剖分学习笔记 一个简单的小问题 先让我们来思考一个简单的小问题。 对于两个区间,我们该如何求出这两个区间合并...原创 2018-09-25 16:59:46 · 168 阅读 · 0 评论 -
【BZOJ4196】[NOI2015] 软件包管理器(树链剖分)
点此看题面 大致题意: 有nnn个软件包,它们的依赖关系形成一棵树。现在,问你安装或卸载一个软件包,会影响多少个软件包的安装状态。 树链剖分 这道题应该是 树链剖分 算法比较入门的题目吧。 Link 树链剖分 详见博客树链剖分学习笔记 对于安装操作 我们对安装和卸载两种操作分别处理。 首先,让我们来看一看安装操作应该如何实现。 考虑到要安装一个软件包,就要把它所依赖的软件包,它的依赖所依赖...原创 2018-09-20 13:03:50 · 204 阅读 · 0 评论