随笔分类 -  线段树

摘要:题意:对一个维护三种操作:1.将[l..r]中的数全部加入集合中。2.将集合中[l..r]范围内的数删去。3.将集合中在[l..r]中的数删去,并将之前不在集合中的数加入集合 考虑到最近线段树总是写爆,我决定在CF上切几道水题练练手,于是找到了这题。。。一开始想了想感觉不太会做,后来发现好像可以离散 阅读全文
posted @ 2017-10-17 19:35 NINGLONG 阅读(256) 评论(0) 推荐(0)
摘要:题意:构造一个长度为n的序列,使其满足m个形式如下如下约束:a[l]&a[l+1]&a[l+2]&....&a[r]=q 从Dalao的博客上看到这题,决定去水水。做法比较显然,就是做一些区间or之后判断一下之前的条件是否满足。用线段树维护即可。 不出意外,我的线段树又调爆了,因为我把<<打成了>> 阅读全文
posted @ 2017-10-17 09:27 NINGLONG 阅读(199) 评论(0) 推荐(0)
摘要:题目描述 小强喜欢数列。有一天,他心血来潮,写下了三个长度均为n的数列。 阿米巴也很喜欢数列。但是他只喜欢其中一种,波动数列。 阿米巴把他的喜好告诉了小强。小强便打算找出这三个数列内的最长波动数列。 也就是说,如果我们将三个数列记做a[n][3],他必须要构造一个二元组序列:<p[i], q[i]> 阅读全文
posted @ 2017-10-10 19:11 NINGLONG 阅读(185) 评论(0) 推荐(0)
摘要:题意:给定一个字符串,以及m次操作,每次操作对字符串的一个子区间进行升序或降序排序,求m次操作后的串 考虑桶排,发现线段树可以模拟桶排的过程,所以对26个字母分别建立线段树即可 阅读全文
posted @ 2017-10-03 13:19 NINGLONG 阅读(190) 评论(0) 推荐(0)
摘要:题意:给定一个n个数的序列,完成以下3个操作: 1.给定区间求和 2.给定区间对x取模 3.单点修改 对一个数取模,这个数至少折半。于是我们记一个最大值max,如果x>max则不做处理。 阅读全文
posted @ 2017-10-01 22:13 NINGLONG 阅读(131) 评论(0) 推荐(0)