#164. 【清華集訓2015】v
貌似是乙個**題,是jls線段樹的題目。
首先我們定義一種標記 \((a,b)\),表示給這個區間先加上 \(a\) 再跟 \(b\) 取 \(max\),不難發現題目裡提到的三種操作分別都可以用這樣的標記來代替:
1、區間加\(v\):\((v,−inf)\)
2、區間減\(v\):\((−v,0)\)
3、區間覆蓋:\((−inf,v)\)
考慮合併兩個標記\((a,b)\),\((c,d)\),那麼就會變成\((a+c,max(b+c,d))\)。
現在考慮歷史標記最大值,對於乙個標記,我們可以將它看成是乙個分段函式。第一段的函式是\(y=b\),第二段的函式是\(y=x+a\)。那麼歷史最大標記則可以用\((max(a,c),max(b,d))\)來表示。如下圖,紅色的部分就是歷史標記最大值:
uoj164 清華集訓2015 V
題目鏈結 164.清華集訓2015 v 大佬的部落格 jefflyy 這個東西,詭異的標記下傳。一共有五種操作,區間加法,區間減法 減到0就不減了 區間覆蓋,單點詢問,單點歷史最大值。非常巧妙的使用了乙個pair來進行標記。y max x a,b 就是可以看做建立乙個直角座標系,其中x軸表示原數字,...
UOJ 164 清華集訓2015V
qwqzcysky真是菜死了,這是我剛上高一的時候坤爺在夏令營講的,可是今天才切掉 想想也神奇,乙個2016.11才學會線段樹的菜雞,夏令營的時候居然聽過segment tree beats?所以我們來看下這個神奇的segment tree beats.我們維護乙個神奇的標記二元組 x,y 在樹點上...
UOJ 164 清華集訓2015 V
這道題由於是單點詢問,所以異常好寫。注意到每種修改操作都可以用乙個標記 a,b 表示。標記 a,b 的意義就是 x max 同時這種標記也是支援合併的。有 a,b c,d a c,max 用上這種標記的話,1 操作就是 x,0 2 操作就是 x,0 3 操作就是 inf,x 要查詢單點值的話只要把所...