i 的二次幂求和

学习 自为风月马前卒 大佬的数学笔记

\(i^2\) 求和

查阅资料我们很容易就发现 \(\sum_{i = 1}^ni^2 = \frac{n(n + 1)(2n + 1)}{6}\)

但具体怎么求得的呢?今天偶然间在 Miskcoo大佬的博客中看到了一种脑洞清奇通俗易懂的证明方法

我们要求 \(S_n = \sum_{i = 1}^ni^2\),现在我们对 \(C_n = \sum_{i = 1}^ni^3\) 进行转换

首先列一个恒等式

\[\sum_{i = 1}^{n + 1}i^3 = C_n + (n + 1)^3 \]

这里有个骚操作是把前面的转化一下

\[\sum_{i = 0}^{n}(i+ 1)^3 = C_n + (n + 1)^3 \]

然后就可以推柿子啦,

\[\sum_{i = 0}^ni^3+3i^2+3i+1 = C_n + (n + 1)^3 \\ C_n + 3S_n + 3\frac{n(n + 1)}{2} + (n + 1) = C_n + (n + 1)^3\\ \Rightarrow S_n=\frac{2(n + 1)^3 - 3n(n + 1)-2(n +1)}{6}\\ =\frac{n(n+1)(2n+1)}{6} \]

同时这个方法具有非常强的扩展性,我们也可以推导出 \(i^k\) 的公式,但是计算起来的复杂度却是\(k^2\)的,感觉还是拉格朗日插值 \(klogk\) 好用一些

\(1,2,…n\) 带入维护前缀积后缀积可以做到 \(k logk\)

posted @ 2021-03-31 18:51  RioTian  阅读(675)  评论(0编辑  收藏  举报