1. 程式人生 > >K - Transformation HDU - 4578 線段樹經典題(好題)

K - Transformation HDU - 4578 線段樹經典題(好題)

tran 麻煩 https hang logs 題意 com cnblogs 失效

題意:區間 加 變成定值 乘 區間查詢:和 平方和 立方和

思路:超級超級超級麻煩的一道題 設3個Lazy 標記分別為 change 改變mul乘 add加 優先度change>mul>add因為改變了之後 前面的mul 和add都失效了

push_down的時候 如果有change 標記 可以很方便得求p[1] p[2] p[3]

如果mul存在 則也可以很方便求得子區間的各種值 同時由於mul 比add優先 要把add標記*=value 相當於本來每個加5 乘以2後變成每個加10

如果此時add還存在 利用平法和 平方差也可以求的p 1 2 3

找了半天錯 好像是push_down 哪裏寫錯了 找不下去了。。。 找了個博客的push_down替換了一下就過了 崩潰!

參考博客:https://www.cnblogs.com/whatbeg/p/4111701.html

K - Transformation HDU - 4578 線段樹經典題(好題)