1. 程式人生 > >BZOJ1493 NOI2007 項鏈工廠 線段樹模擬

BZOJ1493 NOI2007 項鏈工廠 線段樹模擬

get targe www. 地址 位置 減少 play 旋轉 分析

提交地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1493

題目大意:給一個數列,進行一系列操作。包括旋轉,翻轉,改變等操作,以及查詢顏色段數。

題目分析:數列中元素的相對位置沒有改變,因此不需要用splay去做,而是可以用線段樹解決這類問題。

旋轉操作直接改變變量rotate,翻轉操作用異或即可。每次詢問先利用rotate求出當前1號位是誰,這樣可以根據翻轉標記確定區間。如果區間跨越n,那麽合並的時候要考慮左邊一段的右端和右邊一段的左端。相同的時候答案要減少1.

題目代碼稍後放上。

BZOJ1493 NOI2007 項鏈工廠 線段樹模擬