随笔分类 - 线段树
摘要:###思路 这道题明面上是道紫题,但是洛谷的P4145是和GSS4完全相同的一道题,而P4145是蓝题(众所周知洛谷的评分不太准)。 这道题除了一个区间对每个数开方的操作,其他都与线段树模板无异。那么如何实现区间对每个数开方的操作呢? 很显然,直接想是很难想出来的,而事实上这道题也没有什么可以用的特
阅读全文
摘要:###思路 //由于GSS3和GSS1几乎一毛一样,所以我就把GSS1的题解稍微改了一下就好了。 首先说明一下这道题的重难点。这道题由于只有一个单点赋值的操作,并要求我们求区间最大子段和,这个东西显然很不好维护(单点赋值很好做)。要维护它,我们先要看一下在查询和建树过程中 可能遇到的情况。 一、该区
阅读全文
摘要:###思路 首先说明一下这道题的重难点。这道题由于没有更新操作,所以我们就省去了update和维护lazytag的麻烦,但是不要高兴的太早。这道题要求我们求区间最大子段和,这个东西显然很不好维护。 要维护它,我们先要看一下在查询和建树过程中可能遇到的情况。 一、该区间的最大子段和完全被包括在它的左儿
阅读全文
摘要:###思路 对于这道题,为了好想,我们先考虑一下如果不考虑历史最大值应该怎么做。这样的话,我们需要做区间加和区间推平的操作。那么,做过线段树2的都知道,我们应该是需要两个tag来维护,分别是区 间累加和区间推平。那么对于这个题,我们怎么在pushdown的时候兼容这两个tag呢? 很显然,无论你先做
阅读全文
摘要:###思路 这道题虽然和线段树1同是线段树模板题,但是这道题的难度我个人感觉是比1提高了,主要就是在有关lazytag的处理和运算方面更加复杂。 这道题的有两种修改操作,一种是区间加,一种是区间乘。这就会导致我们使用一个lazytag无法解决所有的问题,所以我们就要维护两个lazytag,一个是加法
阅读全文
摘要:###思路 线段树1是一道线段树的经典模板题,所涉及的线段树基础知识也比较全面,作为线段树初学者(比如我)的练手题就非常合适。这道题想让我们完成的是对一个序列的区间修改和区间查询。关于这两个操作, 我们要引入一个新的东西——lazytag。 关于线段树的一些基础写法在这里不再多赘述,我主要来讲一下有
阅读全文
摘要:###思路 这道题其实说白了也就是一个维护最大连续长度为0的子串,再根据土木中的要求进行更新和求值即可。 我写到这就不知道该怎么说了,所以下面说的可能有些乱。 这道题维护的区间最大子段和GSS1和GSS3的区间最大子段和的维护方法相当的类似,但是由于这道题让你维护的是区间最长的连续为0的子串,而且在
阅读全文
摘要:###思路 这道题其实并不难,充其量就是一道线段树(单点修改+区间维护最大值)的板子。但是基于严谨务实的态度,我们还是应该认真看一下这个道题。 线段树的基本写法及原理在这里不再赘述,下面我们来说一下单点修改操作。 这道题的单点修改操作跟线段树板子的单点修改不太一样,这道题的单点修改不是单纯地将一个点
阅读全文
摘要:###思路 现在进入正题。这道题要求我们维护区间平均数和区间方差。很显然,区间平均数是很好维护的,我们只要维护一下区间和,在求平均数的时候用区间和除以区间长度即可。那么我们怎么来维护方差呢?很 明显直接维护是不现实的,所以我们要对方差的公式进行推导: 利用我们最后推出的这个公式,我们可以看出我们只要
阅读全文

浙公网安备 33010602011771号