原题链接
1 题目
板子题,只不过稍微引入了一点新的概念
2.1 方差推导
假设现在的区间长度为n,区间a为[1,n]定义a‾=a1+a2+⋯+an−1+ann方差=(a1−a‾)2+(a2−a‾)2+⋯+(an−1−a‾)2+(an−a‾)2=(a12+a‾2−2a1a‾)+(a22+a‾2−2a2a‾)+⋯+(an−12+a‾2−2an−1a‾)+(an2+a‾2−2ana‾)n=a12+a22+⋯+an−12+an2+na‾−2a‾(a1+a2+⋯+an−1+an)n=a12+a22+⋯+an−12+an2n+a‾−2a‾2=a12+a22+⋯+an−12+an2n−a‾2假设现在的区间长度为n,区间a为[1,n]\\ 定义 \overline
a=\frac{a_1+a_2+\cdots+a_{n-1}+a_n}{n}\\ 方差=(a_1-\overline a)^2+(a_2-\overline a)^2+\cdots+(a_{n-1}-\overline a)^2+(a_n-\overline a)^2\\ =\frac{({a_1}^2+{\overline a}^2-2a_1\overline a) + ({a_2}^2+{\overline a}^2-2a_2\overline a) + \cdots +({a_{n-1}}^2+{\overline a}^2-2a_{n-1}\overline a) +
({a_n}^2+{\overline a}^2-2a_n\overline a)}{n}\\ =\frac{{a_1}^2+{a_2}^2+\cdots+{a_{n-1}}^2+{a_n}^2+n \overline a - 2 \overline a(a_1+a_2+\cdots+a_{n-1}+a_n)}{n}\\ =\frac{{a_1}^2+{a_2}^2+\cdots+{a_{n-1}}^2+{a_n}^2}{n}+\overline a -2{\overline a}^2\\
=\frac{{a_1}^2+{a_2}^2+\cdots+{a_{n-1}}^2+{a_n}^2}{n}-{\overline a}^2 假设现在的区间长度为n,区间a为[1,n]定义a=na1 +a2 +⋯+an−1 +an 方差=(a1 −a)2+(a2 −a)2+⋯+(an−1 −a)2+(an −a)2=n(a1 2+a2−2a1 a)+(a2 2+a2−2a2 a)+⋯+(an−1 2+a2−2an−1 a)+(an 2+a2−2an a) =na1 2+a2 2+⋯+an−1 2+an 2+na−2a(a1 +a2 +⋯+an−1 +an ) =na1 2+a2 2+⋯+an−1
2+an 2 +a−2a2=na1 2+a2 2+⋯+an−1 2+an 2 −a2
2.2 更新推导
当区间[1,n]每个数都增加了x时:相当于(a1+x)2+(a2+x)2+⋯+(an−1+x)2+(an+x)2=(a12+x2+2a1x)+(a22+x2+2a2x)+⋯+(an−12+x2+2an−1x)+(an2+x2+2anx)=原有的(a12+a22+⋯+an−12+an2)+nx2+2xa1+a2+⋯+an−1+an)当区间 [1,n] 每个数都增加了 x 时:\\ 相当于 (a_1+x)^2+(a_2+x)^2+\cdots+(a_{n-1}+x)^2+(a_n+x)^2\\ =({a_1}^2+x^2+2{a_1}x) + ({a_2}^2+x^2+2{a_2}x)
+\cdots +({a_{n-1}}^2+x^2+2{a_{n-1}}x)+({a_n}^2+x^2+2{a_n}x)\\ =原有的({a_1}^2+{a_2}^2+\cdots+{a_{n-1}}^2+{a_n}^2)+nx^2+2xa_1+a_2+\cdots+a_{n-1}+a_n) 当区间[1,n]每个数都增加了x时:相当于(a1 +x)2+(a2 +x)2+⋯+(an−1 +x)2+(an +x)2=(a1 2+x2+2a1 x)+(a2 2+x2+2a2 x)+⋯+(an−1 2+x2+2an−1 x)+(an 2+x2+2an x)=原有的(a1 2+a2 2+⋯+an−1
2+an 2)+nx2+2xa1 +a2 +⋯+an−1 +an )
3 最终代码(禁止抄袭,仅用于参考)