摘要: 至破碎的奇迹中寻求光明,抛弃希望的苦恼,扶摇而上 阅读全文
posted @ 2019-09-25 10:34 流逝丶 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 念念不忘,必有回响 阅读全文
posted @ 2019-09-24 21:57 流逝丶 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 说实话第一眼没看出来这是个线段树题 仔细一想就算是你把每次操作计算出来,每次除去找数,然后除掉,那样就只能最 后取mod,或求很多逆元,不取模你会炸 longlong。 如何解决? 我们以时间为轴,建立线段树,叶子结点维护该操作时间的乘数,非叶子结点维护 区间乘,叶子结点一开始都为 1 然后每次乘, 阅读全文
posted @ 2019-09-24 21:55 流逝丶 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给n个桥,m次潮涨落,给定潮涨落的高度,问被淹没次数大于等于k的桥的个数,对于一直被淹没的,只记录一次。 把不同高度的桥看做坐标不同的点,然后潮涨落就相当于一次区间修改 修改的是上次潮落位置+1的桥到本次潮涨的位置,输出答案时需要访问到每个叶子结点。 AC代码 阅读全文
posted @ 2019-09-22 19:57 流逝丶 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 提供一个比较简单的线段树写法 不用build,ask还有down 一整棵树维护白点的数量,每次change找到精准的区间然后一整个区间都是白点 如果再change的时候发现要访问的区间已经全部覆盖,就可以直接返回,无需再改 输出答案的话, tr[1] 是区间白点总数,所以答案就是 n-tr[1] 阅读全文
posted @ 2019-09-22 19:56 流逝丶 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 这题,第一眼:区间加,区间最小值。这不是线段树裸题吗? 看数据范围 n≤5000000 .开了个tr维护最小值,laz维护加 然后一算空间大概是 152 MB,完了, MLE 。 换方法吧,但是我就想写线段树,就是写线段树才能使我快乐,我就改变策略 本来直接输出 tr[1],我现在删掉 laz ,让 阅读全文
posted @ 2019-09-22 19:55 流逝丶 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 维护最大子段和嘛,要维护这东西我们需要四个东西, 区间和sum,从最左端起的最大连续和ls,从最右端起最大的连续和rs,区间内最 大的连续和mx。 为什么是这四个呢? 我们区间合并的时候,大区间的mx,可能由左或右区间mx更新过 来,可能是左区间rs和右区间ls更新。 对于sum,我们为什么需要? 阅读全文
posted @ 2019-09-22 19:52 流逝丶 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 区间问题,肯定是线段树了,但是区间加的是一个等差数列,怎么办呢 我们可以通过差分来维护。 蛤是差分? 搞一个数组专门差分,在数组中记录对于l~r的区间加x,在l位置加上x,在r+1位置减去x。 当查询某个数值时,该位置上的数加上差分数组中1~该位置的前缀和,自己出组数试一下发现这样是对的 我们线段树 阅读全文
posted @ 2019-09-22 14:38 流逝丶 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 线段树维护平均数和方差 平均数很好搞,维护区间和,然后除以区间长度就行了 那方差如何维护呢? 先得推一波式子 然后发现我们维护一个区间和还有一个区间平方和就可以了 修改的时候先修改区间平方和,再修改区间和。 特别注意的:题目中说是实数,所以原序列中的数,和区间加的数都为小数,都要开double储存 阅读全文
posted @ 2019-09-18 21:56 流逝丶 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 线段树神仙操作==珂朵莉树基本操作??? 珂朵莉树是不可能的,这辈子只会码线段树,只有线段树神仙操作才刺激,debug之后AC才最快乐 这题我折腾了半个下午加半个晚上。维护的东西太多了。 如果没有区间反转,这题很简单,但是有反转,所以既要维护1,又要维护0。 tot记录区间中1的个数 len记录区间 阅读全文
posted @ 2019-09-17 20:58 流逝丶 阅读(149) 评论(0) 推荐(0) 编辑