(点击这里查看原题,不保证可以进去....外网可能比较卡) (点击这里查看原题,不保证可以进去....外网可能比较卡) (点击这里查看原题,不保证可以进去....外网可能比较卡) Description A:一心一意 B:一个顶俩 最近QQ更新后那个成语接龙好像挺火的?但我只知道图论里一条边是一个顶 ...
分类:
其他好文 时间:
2019-08-17 00:44:23
阅读次数:
113
GSS系列是非常好的线段树、树链剖分练手题目,这道题是最简单的了 题意:求区间最大子段和 显然这道题我们用线段树来解决,难点在于维护最大前缀和以及最大后缀和 ...
分类:
其他好文 时间:
2019-08-11 22:45:31
阅读次数:
69
一、rmq问题 1.st表 2.线段树 3.树状数组 二、lca 三、基本数据结构 1.栈 2.队列 3.单调栈 4.链表 5.stl 6.并查集 7.堆/优先队列 四、分治 1.点分治 2.边分治 3.树链剖分 4.基于询问的分治 5.cdq分治 五、其他 1.可持久化线段树 2.KD-tree ...
分类:
其他好文 时间:
2019-08-11 17:27:04
阅读次数:
70
zhrt的数据结构课 这个题目我觉得是一个有一点点思维的dfs+线段树 虽然说看起来可以用树链剖分写,但是这个题目时间卡了树剖 因为之前用树剖一直在写这个,所以一直想的是区间更新,想dfs+线段树,有点点没想明白 后来才知道可以把这个区间更新转化成单点更新,就是查一个结点的子树,如果子树有可以到根节 ...
分类:
其他好文 时间:
2019-08-11 13:29:46
阅读次数:
80
什么是树链剖分 树链剖分,计算机术语,指一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、$BST$、$SPLAY$、线段树等)来维护每一条链。——百度百科 树链剖分就是维护轻、重链,然后用其他数据结构来维护。(一般用树状数组或线段 ...
分类:
其他好文 时间:
2019-08-11 13:13:26
阅读次数:
73
题解 很容易发现,改变了某个软件,变的只会是该软件到根的距离+路径上所有软件的子树 那么我们怎么快速求出这个东东,安装时,考虑将x到根的路径上全部变为1,然后用线段树维护区间和用改变后-改变前就是答案 卸载的话,就将x到根的路径全部变成0,也是区间和,用改变前-改变后 区间和的话就可以用线段树来维护 ...
分类:
其他好文 时间:
2019-08-11 10:28:27
阅读次数:
59
@[TOC] 动态树问题, ,近几年在OI中兴起的一种新型问题,是一类要求维护一个有根树森林,支持对树的分割, 合并等操作的问题。由RobertE.Tarjan为首的科学家们提出解决算法Link Cut Trees,简称lct。 本段摘自百度 要学lct,首先必要的基础必须有: 树链剖分 "(点这里 ...
分类:
其他好文 时间:
2019-08-10 21:54:03
阅读次数:
151
首先安利自己倍增求LCA的博客,前置(算不上)知识在此。 LCA有3种求法:倍增求lca(上面qwq),树链剖分求lca(什么时候会了树链剖分再说。),还有,标题。 是的你也来和我一起学习这个了qwq。 开始吧。 众所周知,每当你dfs时,你都能产生一棵dfs树,可以根据你的dfs序来构建。 suc ...
分类:
其他好文 时间:
2019-08-10 21:39:46
阅读次数:
142
@[TOC] 什么是树链剖分? 指一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、SBT、SPLAY、线段树等)来维护每一条链,主要用来维护树上每条链的极值或和之类的。 类似 首先把树上倍增摆在前面,如果不会树上倍增就不必来看树链 ...
分类:
其他好文 时间:
2019-08-10 21:07:51
阅读次数:
90
DP&图论 DAY 5 下午 树链剖分 每一条边要么属于重链要么轻边 证明: https://www.cnblogs.com/sagitta/p/5660749.html 轻边重链都是交替走的(此处重链可以走若干条边) 1.dfs1 统计子树大小,确定重儿子 2.dfs2 找重链 重链,子树,分别是 ...
分类:
其他好文 时间:
2019-08-10 19:36:42
阅读次数:
93