随笔分类 -  数据结构————线段树

摘要:应该是九月份最后一篇了,这段时间比较高产,国庆勉强能休2天,不用写国庆作业是我不敢想象的快乐(⊙v⊙),楼下书桌里卷子能有1.5cm,肉眼可见的知识的厚度 回归正题,扫描线和正常线段树的差别就在于我维护的是什么,我怎么维护 扫描线和它的名字一样,一条平行于x轴的直线,从下往上扫过n个矩形,划分成多个 阅读全文
posted @ 2020-09-30 08:47 小又又 阅读(152) 评论(0) 推荐(1)
摘要:*题意:2个操作,1:[l,r]升序排序,2:[l,r]降序排序,最后输出序列 *线段树维护:[l,r]区间的字母是什么(必须完全覆盖),这样我们求字母个数的时候就等于(r-l+1) *和普通线段树的区别: 1.建树的pushup:当左区间和右区间都是同一个字母,当前区间也是同一个字母 il int 阅读全文
posted @ 2020-08-31 19:43 小又又 阅读(105) 评论(0) 推荐(0)
摘要:*洛谷传送 学校集训的第二天不知不觉写了道紫题(〃'▽'〃)(〃'▽'〃)(〃'▽'〃) 对于操作1和3,赤裸裸的线段树板子。单点修改和区间求和复杂度都没有什么问题,关键就在取模。对一个数取模,假如一段区间最大值都比这个模数小,那无论怎么改,其值都不会变,有了这个性质,我们可以去掉许多不必要的操作, 阅读全文
posted @ 2020-08-26 17:58 小又又 阅读(141) 评论(4) 推荐(1)
摘要:题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上$x$ 2.求出某区间每一个数的和 输入格式 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含3或4个整数,表 阅读全文
posted @ 2020-01-30 13:11 小又又 阅读(847) 评论(0) 推荐(0)