P4130 [NOI2007] 项链工厂 题解
很显然:线段树维护颜色。
翻转操作:以后每个操作映射处理。注意到原先的位置与之后的位置的关系是 \(x=n-(x-1)=-x+1+n\) 那么翻转后的位置和原先的关系是\(x=(x-1-n)*-1\)
旋转: 以后每个操作映射处理。例如旋转k。等价于以后操作-k。
那么位置的映射就可以用加法和乘法处理,这可以使用线段树维护。
然后后面的操作怎么做不用多说了。也是线段树搞。每个节点存储"部分"的数量,左右两端的颜色。
很显然:线段树维护颜色。
翻转操作:以后每个操作映射处理。注意到原先的位置与之后的位置的关系是 \(x=n-(x-1)=-x+1+n\) 那么翻转后的位置和原先的关系是\(x=(x-1-n)*-1\)
旋转: 以后每个操作映射处理。例如旋转k。等价于以后操作-k。
那么位置的映射就可以用加法和乘法处理,这可以使用线段树维护。
然后后面的操作怎么做不用多说了。也是线段树搞。每个节点存储"部分"的数量,左右两端的颜色。