随笔分类 -  线段树

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