线段树
标记看成序列而不是数
权值对权值、标记对标记、标记对权值
- P1471
区间加,区间平均值,区间方差
区间平均值等同于区间和
将方差式子拆解:$\frac{1}{n} \sum (A_i-\overline{A})^2 = \frac{1}{n} (\sum{A_i}^2-2\sum A_i \overline{A} + n{\overline{A}}^2) $
把 \(\overline{A}=\frac{1}{n} \sum A_i\) 带入,得 \(\frac{1}{n} (\sum {A_i}^2 - \frac{2}{n}(\sum A_i)^2 + \frac{1}{n}(\sum A_i)^2) = \frac{1}{n}(\sum {A-i}^2 - \frac{1}{n} (\sum A_i)^2)\)
发现本质上是求区间平方和(后者可通过区间和解决)
权值:sum1
区间和,sum2
平方和
标记:add
合并:权值合并显然,标记合并也显然,考虑标记对权值(sum1
显然,考虑sum2
)的合并。
考虑拆分 sum2
,易得 \(sum2_u'=sum2_u+2add_u·sum1_u+len_u·{add_u}^2\)
细节:push_up
先进行 sum2
的转移(sum1
对 sum2
的转移有影响)