用线段树处理颜色段数 记录区间内的颜色段数,区间右端点的颜色,区间右端点的颜色. 树链剖分 先是定义存图 然后是每个点的深度,大小,重儿子,父亲. 然后是每个点所在的重链的顶点的编号,dfs顺序和点编号的映射,tot记录顺序的编号. 第一次dfs,确定点之间的父子关系,大小,深度,重儿子: 第二次d ...
分类:
其他好文 时间:
2020-01-26 23:52:54
阅读次数:
74
"Link" 设$f(l,r)$为从$l$走到$r+1$并且在$l,r$没有输过的概率,$g(l,r)$为从$r$走到$l 1$并且在$l,r$没有赢过的概率。 那么这题看上去就很线段树了对吧。 首先很显然$f(i,i)=p_i,g(i,i)=1 p_i$。 然后考虑合并$[l,mid],(mid, ...
分类:
其他好文 时间:
2020-01-26 20:58:10
阅读次数:
74
详解权值线段树 本篇随笔详细讲解一下算法竞赛中的一种数据结构——权值线段树。 前置知识 在讲解权值线段树之前,我们首先要明确:权值线段树属于一种线段树,它的本质仍然是线段树。所以在学习权值线段树之前,如果还对普通线段树并没有一个深刻的了解的话,请先移步这篇博客来学习简单线段树。 "简单线段树知识点详 ...
分类:
其他好文 时间:
2020-01-26 17:29:14
阅读次数:
71
(因为没有认证,所以这道题就由 "Froggy" 上传) 线段树分裂用到的地方确实并不多,luogu上以前也没有这道模板题,所以就出了一道,实在是想不出怎么出模板了,所以这道题可能可以用一些其他的算法水过去. 前置芝士 1. "线段树" : 本题中用到的是权值线段树(查询每个数在序列中出现的次数,序 ...
分类:
其他好文 时间:
2020-01-26 10:24:03
阅读次数:
190
~~我们考虑线性代数上面的矩阵知识~~ 啊呸,是基础数学 斐波那契的矩阵就不讲了 定义矩阵 $f_x$ 是第 $x$ 项的斐波那契矩阵 因为 $f_i f_j = f_{i+j}$ 然后又因为 $\texttt{AB+AC=A(B+C)}$ 所以 $\sum_{i=l}^{r} f(a_i+x) = ...
分类:
其他好文 时间:
2020-01-25 20:48:03
阅读次数:
110
本题有$O(N)$的优秀做法,但是因为在考场上不一定能想到,就来分享一种$O(N\log_2N)$的做法.虽然有点慢,但是可以过. 前置芝士 1. "线段树" :提高组及以上必备内容,不会的同学可以 "学习一下" . 具体做法 ~~只要会线段树就珂以了,是不是很简单.~~ 先考虑贪心,连续的一定是一 ...
分类:
其他好文 时间:
2020-01-25 19:29:44
阅读次数:
67
一直觉得树状数组是个非常神奇的东西,代码不知道要比线段树短多少倍,还有什么 $lowbit$ 之类的神奇操作。也是因此对其一直一知半解,用的时候都迷迷糊糊,~~瞎打一通~~。所以就写篇博客吧。。 树状数组: 本质上是一个动态的前缀和,可以 $O(logn)$ 维护单点修改, $O(logn)$ 求一 ...
分类:
编程语言 时间:
2020-01-25 18:15:42
阅读次数:
82
"B题地址:树上逆序对" 有两个思路 方法一:线段树离线 + 树状数组或者线段树维护区间和 0:离散化,离线存储输入的operation操作序列。 ①:先线段树在dfs序上离线处理好整一棵树:在dfs序上先查询"加入当前结点的逆序对权值和"并记录,再加入当前这个节点;dfs完毕后,就已经记录好每个结 ...
分类:
编程语言 时间:
2020-01-25 16:55:25
阅读次数:
91
这一段时间复习了一下最短路,做了几道非常典型特别考察最短路性质的题 1.P1144 最短路计数 这个题主要考察对松弛操作的理解。 关键代码 2.CF786B Legacy 线段树优化建边,对于一个点,与一个连续区间里的点连边,可以利用线段树的特性来降低连边复杂度。 3.P1772 [ZJOI2006 ...
分类:
其他好文 时间:
2020-01-25 16:52:21
阅读次数:
90
引入 一个长度为$n$的数组,有$m$次查询,每次查询区间$[l,r]$内第$k$小的元素。 如果使用暴力,肯定不可以 使用线段树?可是我只会查询区间最值啊。 那么我们把问题再次简化一下,查询$[1,n]$第$k$小的元素,要求使用线段树来实现。 权值线段树 为了解决这个问题,我们引入一个名词: 权 ...
分类:
其他好文 时间:
2020-01-24 18:50:03
阅读次数:
102