原文:LeetCode LCP 05. 发 LeetCoin DFS序+带懒惰标记的线段树

题目描述 力扣决定给一个刷题团队发 LeetCoin 作为奖励。同时,为了监控给大家发了多少 LeetCoin,力扣有时候也会进行查询。 该刷题团队的管理模式可以用一棵树表示: 团队只有一个负责人,编号为 。除了该负责人外,每个人有且仅有一个领导 负责人没有领导 不存在循环管理的情况,如 A 管理 B,B 管理 C,C 管理 A。 力扣想进行的操作有以下三种: 给团队的一个成员 也可以是负责人 发 ...

2022-02-20 18:56 0 3572 推荐指数:

查看详情

dfs线段

dfs+线段,啥?如果在一棵树上,需要你修改一些节点和查询一些节点,如果直接dfs搜的话肯定超时,那用线段?树结构不是区间啊,怎么用?用dfs将树结构转化为一个区间,就能用线段进行维护了。 dfs是指:每个节点在dfs深度优先遍历中的进出栈的时间序列,记录每个点进栈和出栈的时间点 ...

Wed Aug 08 16:21:00 CST 2018 0 761
线段懒惰标记小笔记

线段可以进行区间更新,但是相比较于普通的线段单点更新和区间查询的功能来说,区间更新与其最大的不同就是在与区间更新需要加一个懒惰标记,来记下对懒惰标记的理解。 懒惰标记用来干什么? 解释: 理论上来说,如果[3, 9]这个区间被修改的话,那么下图中的所有绿色的结点的值都要得到重新计算 ...

Tue Jul 16 21:56:00 CST 2019 0 513
区间更新和懒惰标记线段

区间更新和懒惰标记线段 前言 普通版本的线段进行的是 单点更新 和 区间查询 . 对于带有 懒惰标记线段, 则可以进行 区间更新. 懒惰标记的意义 代表了这个结点的值已经被更新过了, 但是没有进行子树的结点值更改操作, 用lazy数组标记一下. 所以, 每次进行值的更新和查询 ...

Tue Oct 31 05:28:00 CST 2017 0 1072
带lazy标记线段

线段的lazy操作 以POJ 2777 Count Color为例。 线段,是一个满的二叉树,每次每一个子节点都是父节点的一半。所以二叉树的每个节点都维护了一个区间。可是实现快速的查询。 对于更新来讲的话,如果每次都更新到最下面的节点,会非常的耗时间。所以假如更新到某个节点的时候,而这 ...

Thu Apr 07 07:23:00 CST 2016 0 2317
【bzoj4771】七彩 链的并+STL-set+DFS+可持久化线段

题目描述 给定一棵n个点的有根,编号依次为1到n,其中1号点是根节点。每个节点都被染上了某一种颜色,其中第i个节点的颜色为c[i]。如果c[i]=c[j],那么我们认为点i和点j拥有相同的颜色。定义depth[i]为i节点与根节点的距离,为了方便起见,你可以认为树上相邻的两个点之间的距离 ...

Wed Apr 04 18:43:00 CST 2018 0 977
线段标记永久化

线段标记永久化 其实线段标记永久化是一个非常容易理解的东西,往往我们都会在区间操作时打lazytag,但是在标记下放时会耗费大量的时间,所以我们可以尝试标记永久化,这样我们的就不用下放标记,同时代码也更加简洁,因为我们少了一个pushdown函数,同时出错率也会大大降低 ...

Thu Jul 26 17:07:00 CST 2018 0 830
线段标记永久化

前言 对于,主席等使用到线段的比较复杂的数据结构,如果区间修改的话,打标记后pushdown或者pushup是很难做到的完全不行吧 所以这个时候,一个神奇的东西诞生了。。。 正题 线段标记永久化,维护一个标记,假设为cov,再维护一个sum 假设修改区间[ql, qr]全部加上v ...

Sat Jan 06 17:25:00 CST 2018 0 1029
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM