2 条题解
-
0
Guest LV 0 MOD
-
2
相比较于,此题多了个区间乘法。
一个
tag
似乎应付不了了,那么来两个tag
啊: 和 。前置知识:通过P1080【模板】线段树 1
1. 区间加法
还是一样。
2. 区间乘法
这里就有点不一样了。
先把 和 乘上 。
对于之前已经有的 ,把它乘上 即可。在这里,我们把乘之后的值直接更新的值。
你想, 其实应该加到 里面,所有乘上 后,运用乘法分配律, 。
这样来实现 和 有序进行。
3. pushdown的维护
现在要下传两个标记: 和 。
:因为 之前已经乘过,所以在子孩子乘过 后直接加就行。
:直接乘。
:因为 的值是要包括乘之后的值,所以子孩子要先乘上 。
代码
在此注释: 和 是位运算,(再具体的自己百度)。
日拱一卒,功不唐捐
- 1