ICode9

精准搜索请尝试: 精确搜索
  • 模板【树链剖分】2021-07-05 20:00:07

    PART1(算法思想简介) 1.实现: 2.时间复杂度: 3.特别优势: 4.适用情况: 5.需要注意的点: 6.函数、变量名的解释+英文: 7.dalao分析: 讲得很好 PART2(算法各种类型(并附上代码))   PART3(算法的延伸应用)   PART4(对算法深度的理解)   PART5(与其相关的有趣题目)  

  • [交叉坐标的星尘]题解2021-06-30 18:03:59

    题目链接 交叉坐标的星尘 题意简述 题目中说的比较清楚 , 这里再粘贴一遍 : 给定一棵 \(n\) 个点的树 . 你需要从 \(1\) 号点开始 , 不断地给树上的结点染色 . 在某一轮染色过程中 , 假设你是从编号为 \(u\) 的结点开始染色 , 现在染色到编号为 \(v\) 的结点 , 那么下面你只能尝试

  • P5305-[GXOI/GZOI2019]旧词【树链剖分,线段树】2021-06-10 14:36:40

    正题 题目链接:https://www.luogu.com.cn/problem/P5305 题目大意 给一棵有根树和\(k\),\(Q\)次询问给出\(x,y\)求 \[\sum_{i=1}^{x}dep_{LCA(i,y)}^k \]\(1\leq n,Q\leq 5\times 10^5,1\leq k\leq 10^9\) 解题思路 和之前\(LCA\)那题一样的思路,如果\(k\)等于\(1\)的话。加入一

  • 树链剖分入门2021-05-29 18:56:48

    这几天学了一个树链剖分,觉得还不是很难,这里我试着讲一讲吧。 首先,我认为树链剖分是把在树上一个节点一个节点的走改为按照某种规则跳,从而降低了时间复杂度。 那这是什么规则呢?首先我们得知道什么是重链,知道什么是重链就得先知道什么是重儿子,重儿子就是子树较大的儿子。然后对于一

  • acwing 2524. 树链剖分II2021-05-03 21:04:44

    题目地址:https://www.acwing.com/problem/content/description/2526/ 分析: 对于一棵树,树根的改变不会影响树的拓扑结构,所以改变树根不会影响路径的查询和修改 改变树根会影响对某棵子树的修改和查询 假设当前树根为root需要查询和修改的子树的根节点为u,初始时树根为1 如果u ==

  • [LNOI2014] LCA(树链剖分+主席树+标记永久化)2021-04-15 20:30:16

    题意 给一棵 n n n 个点的树,有 m m m 次询问,每次询问给出 l

  • 树链剖分解析2021-03-06 23:00:53

    原文链接 前置知识 线段树 a n d and and 树上基本操作 定义 几个在树链剖分很重要的概念。 重儿子 对于一个父节点,含有节点数最多的儿

  • 树链刨分2021-02-20 08:01:40

    树链刨分 目录树链刨分有关dfs序树链剖分概念:几个变量第一个大法师第二个大法师线段树维护求树上两点之间最短路径更改两点间最短路径上的值时间复杂度:树链剖分模板 发现漏了树剖的笔记,来补作业了== 有关dfs序 老玩意,就是遍历树的时候每个节点被搜到的顺序 我们画出一棵树,模拟一下

  • 昔我往矣/树上乱搞/lca,树链剖分2021-02-11 10:33:24

    题目链接:https://acm.ecnu.edu.cn/contest/354/problem/A/   原做法:树上倍增+lca,可能生成树的时候复杂度太高,用的是类似并查集的合并方式。   oj上的大佬:https://acm.ecnu.edu.cn/contest/354/submission/2247258/《树链剖分+lca》 先补一个变量vector https://www.runoob.com/

  • 不编译AC记录2021-01-29 13:32:30

    考 2020csp 那天早上,在洛谷提交框那里写 【模板】线段树1 然后AC 2020.1.29 GDKOI早上先照着以前的提交记录打了一遍树链剖分,然后说要不编译 AC 树链剖分,打了一半就去 GDKOI 了…… GDKOI爆炸后继续树链剖分,然后AC

  • 笔记【树链剖分】2021-01-08 13:02:54

    树链剖分 先占个坑 #include <bits/stdc++.h> #define N 500020 #define LS(z) (z<<1) #define RS(z) (z<<1|1) #define int long long using namespace std; inline int read(); int n,m,o,P; int A[N],a[N]; int idx,dfn[N],fa[N]; int dep[N],top[N],siz[N],s

  • 树链剖分学习笔记2021-01-01 22:35:39

    引入 序列上的很多问题可以用线段树等数据结构维护,树上的问题则可以转化为序列上的问题,然后用相应的数据结构维护。 树链剖分可以在\(O(logn)\)的复杂度内将树上的一条链转化为\(O(logn)\)个区间。 树链剖分 我们以P3384 【模板】轻重链剖分为例讲解 长什么样子 图中一棵树,每个点

  • 树链剖分(模板)2020-11-09 14:02:53

    code //操作 1: 格式: 1 x y z 表示将树从 x 到 y 结点最短路径上所有节点的值都加上 z。 //操作 2: 格式: 2 x y表示求树从 x 到 y 结点最短路径上所有节点的值之和。 //操作 3: 格式: 3 x z表示将以 x 为根节点的子树内所有节点值都加上 z。 //操作 4: 格式: 4 x表示求以 x 为根节点的子

  • 小技巧—边权转点权2020-09-24 14:31:41

    小技巧—边权转点权 很多算法,比如树链剖分,是在点权上进行计算和统计的。 详解树链剖分 但是有些题会比较狗,只给你边权。 这时就要想办法把边权转为点权。 以一棵树为例。边权转点权一般是把边权转为深度较深的节点(也就是儿子节点)的点权。 这么做很好理解,因为对于一棵树来讲,一个点

  • 树链剖分2020-07-27 20:00:22

    前言 其实就是预处理+线段树。 目的:把树拆成链再用线段树处理(其实还是一种暴力,只是有点优化)。 为什么不直接拆成从根节点到每一个叶子结点的链? 假如更改一个节点(有多个子节点),那么就要修改几个线段树中的值了,会影响效率。 所以在这些链中不能有重叠部分。 为了提高线段树的效率,我们

  • 树链剖分2020-07-24 08:31:28

    #树链剖分 1,将树从x到y结点最短路径上所有节点的值都加上z 这也是个模板题了吧 我们很容易想到,树上差分可以以O(n+m)的优秀复杂度解决这个问题 2,求树从x到y结点最短路径上所有节点的值之和 lca大水题,我们又很容易地想到,dfs O(n)预处理每个节点的dis(即到根节点的最短路径长度) dis(

  • 树链剖分2020-07-19 14:00:34

    树链剖分 前置芝士 ​ 就像它的名字,树链剖分是在一棵树上进行,在讲解中还会用到线段树和dfs,如果不会,打开链接自行搜索(主要是线段树的博客没做,还有不要问我为什么这算知识)。 一个节点的重儿子,为其更大的一颗子树的根节点。从这个点连向重儿子的边我们称为重边。 由重边连续连起来的

  • UOJ#388. 【UNR #3】配对树 树链剖分+线段树2020-07-15 09:01:22

    这道题卡常啊 !            出题人说 $O(n \log^2 n)$ 可过,但我写了个 $O(n \log^2 n)$ 的树剖卡了半天常数.      最暴力的做法:枚举区间,然后跑一个树形DP 来求最小匹配.      显然,因为要求匹配值最小,所以一定是能匹配就先匹配.    也就是说递归完 $x$ 的所有儿子后,$

  • 学习笔记 索引2020-07-10 14:06:15

    动态规划 线性DP 区间DP 背包 树形DP 数位DP 数据结构 并查集 最大连续子段和($n\log n$) 树链剖分 单调队列 图论 拓扑排序 Tarjan算法 差分约束 二分图 K短路 数学 中国剩余定理 同余

  • 树链剖分入门2020-06-25 20:51:32

    又是一个美妙的算法 定义 重儿子:在一个点 \(x\) 的子节点中,拥有最大子树的儿子 \(y\) 是 \(x\) 的重儿子。 轻儿子:在一个点 \(x\) 的子节点中,除去重儿子的子节点为 \(x\) 的轻儿子。 重边:父亲与重儿子的连边。 轻边:父亲与轻儿子的连边。 重链:只由重边构成的链。 我们看上面这

  • 【BZOJ3307】雨天的尾巴 题解(树链剖分+树上差分)2020-06-20 16:52:05

    题目链接 题目大意:给定一颗含有$n$个结点的树,每次选择两个结点$x$和$y$,对从$x$到$y$的路径上发放一带$z$类型的物品。问完成所有操作后每个结点发放最多的时哪种物品。 普通的树链剖分貌似也可以做这道题,可以记录一个$c$数组用来记录结点中每种物品的个数,然后暴力乱搞。空间可能会

  • 树链剖分模板-2716-【ZJOI2008】树的统计2020-06-18 20:06:00

    题目 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。   我们将以下面的形式来要求你对这棵树完成一些操作:   I.CHANGE u t : 把结点u的权值改为t   II.QMAX u v: 询问从点u到点v的路径上的节点的最大权值   III.QSUM u v: 询问从点u到点v的路径上的节点的权

  • [P3384] 【模板】轻重链剖分 - 树链剖分2020-05-14 11:04:43

    Description 已知一棵包含 \(N\) 个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作 \(1\): 格式: \(1\ x\ y\ z\) 表示将树从 \(x\) 到 \(y\) 结点最短路径上所有节点的值都加上 \(z\)。 操作 \(2\): 格式: \(2\ x\ y\) 表示求树从 \(x\) 到 \(y\) 结点最短路径上所

  • 一本通 高手训练 1763 简单树 可持久化线段树 树链刨分 标记永久化2020-04-30 20:04:26

    LINK:简单树 以后我再不认真读题 我TM活该退役 又因为没认真读题多调了20min.时间珍贵啊。 题目最后让ans%n 我没取模 自闭ing. 还是挺有意思的题目。求x到区间[L,R]的所有点的距离。 这个还是一个非常经典的问题。需要把答案的式子列出来。 \(\sum_{i=L}^R(dis_x+dis_i-dis_{lca(i

  • [GDSOI2017]中学生数据结构题(树链剖分+fhq treap)2020-04-20 20:58:21

    [GDSOI2017]中学生数据结构题(树链剖分+fhq treap) 题面 给出一棵树,支持三种操作 ADD:路径加 QUERY:路径求和 SHIFT:树上路径整体循环移动一位(如:原路径上的权值依次是:1,4,5,3,操作完后变成:3,1,4,5) 分析 考验数据结构功底和代码能力的好题。似乎有个实现难度更低的LCT解法但没

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有