2018省選訓練29 A

http://www.gdfzoj.com/oj/contest/375/problems/1
線段樹妙題,題意是給定一個數列,操作有區間與/或一個值,和查詢區間最大值。
維護一個same表示,區間內的數哪些位是全部相同的,以及bit,表示相同的是什麼,修改操作本質是將一個區間某些位強制賦爲1/0,如果修改的位是當前區間same的子集,直接用一些奇奇gaygay的位運算,最後發現,相當於區間加一個數,直接打個tag就行了~~~

複雜度的話,大概是每次會多出很少的段,但是會把很多段合併,於是每次減得多加的少,複雜度很科學~~~

代碼:http://www.gdfzoj.com/oj/code/116249

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章