BZOJ1493/NOI2007/项链工厂

Posted on By 二价氢

##解法1

线段树

注意到题目的操作都是针对区间的,所以我们可以使用线段树来维护这些值,在每一个结点上储存区间两端的颜色,区间颜色段数,以及一个Lazy标记

然后做到标记上传和下传就好了

###Rotate操作

将全局的Rotate标记加上k

###Flip操作

将全局的Flip标记取反

###Swap操作

单点询问,单点修改操作

###Paint操作

区间修改操作

###Count操作

区间询问操作

###Count Segment操作

区间询问操作

以上就是用线段树求解此题的过程

AC Code

###解法2

发现,这题的线段树能够改成Splay平衡树,于是Splay也可以解决这道题