题意:区间 加 变成定值 乘 区间查询:和 平方和 立方和
思路:超级超级超级麻烦的一道题 设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
原文地址:https://www.cnblogs.com/ttttttttrx/p/10340064.html
时间: 2024-10-15 01:07:13