差分
我们知道,有无限微积分,就是对于一个多项式,有:
\[\Delta y=f(x+\Delta x)-f(x)
\]
其中 \(\Delta x\) 趋近于无穷小。
那么,我们类似的,定义多项式的差分:
\[\Delta f(x)=(x+1)-f(x)
\]
意思是,\(\Delta f(x)\) 是一个新的函数,它描述了 \(f(x)\) 的差。
这个函数的性质很有意思。比如,\(\displaystyle \sum_a^b \Delta f(x)=f(b)-f(a)\)
翻译成 OI 的语言就是:差分数组的前缀和就是原数组。
那么,差分的性质还有哪些?
-
加法律:\(\Delta (u+v)=\Delta u+\Delta v\)。
-
减法律:\(\Delta (u-v)=\Delta u-\Delta v\)
-
数乘律:\(C\Delta u=\Delta (Cu)\)
-
乘法率:\(\Delta (uv)=u\Delta v+Ev \Delta u\)
定和式
为了解决数列求和问题,我们定义定和式:
\[\begin{aligned}
{\sum}_a^b f(x)\delta x=\sum_{k=a}^{b-1}f(k)=f(a)+f(a+1)+f(a+2)+...+f(b-1)
\end{aligned}
\]
它是差分的逆运算,根据上面所述,我们有:
\[\begin{aligned}
{\sum}_a^b\Delta f(x)\delta x&=\Delta f(a)+\Delta f(a+1)+...+\Delta f(b-1) \\
&=f(a+1)-f(a)+f(a+2)-f(a+1)+...+f(b)-f(b-1) \\
&=f(b)-f(a)
\end{aligned}
\]
使用上面的定义,我们可以得出定和式的以下性质:
-
\({\sum}_a^b f(x)\delta x+\sum_b^c f(x)\delta x=\sum_a^c f(x)\delta x\)
-
\(\sum_a^b f(x)\delta x\pm \sum_a^b g(x)\delta x=\sum_a^b (f(x)+g(x))\delta x\)
-
\(\sum_a^b Cf(x)\delta x=C\sum_a^b f(x)\delta x\)
那么,我们可以利用这个工具,实现数列的 \(O(n)\) 求和向 \(O(1)\) 求和的进步。
例如:求等比数列的和 \(\displaystyle\sum_{k=0}^{n-1}a^k(a\neq 1)\)
首先考虑指数函数的差分:
\[\begin{aligned}
\Delta(a^x)=a^{x+1}-a^x&=(a-1)a^x \\
\frac{a^{x+1}-a^x}{a-1}&=a^x \\
a^x&=\Delta(\frac{a^x}{a-1})
\end{aligned}
\]
因此
\[\sum_{k=0}^{n-1}a^k={\sum}_0^n a^x\delta x=\sum_0^n \Delta(\frac{a^x}{a-1})\delta x=\frac{a^n}{a-1}-\frac{a^0}{a-1}=\frac{a^n-1}{a-1}
\]
下降幂
引出下降幂的概念,也是为了对应在无限微积分中普通幂的性质。
我们根据差分定义有:
\[\Delta (x^n)=(x+1)^n-x^n=\sum_{k=0}^{n-1}\binom{n}{k}x^k
\]
但是在无限微积分中,我们熟知:\((x^n)'=nx^{n-1}\)
我们这里给出下降幂的定义:
\[x^{\underline{n}}=\frac{1}{n!}\binom{x}{n}=\frac{x!}{(x-n)!}=\prod_{k=0}^{n-1}(x-k)
\]
那么在有限微积分中,有类似优雅的结论:
\[\begin{aligned}
\Delta (x^{\underline{n}})&=(x+1)^{\underline{n}}-x^{\underline{n}} \\
&=\prod_{k=0}^{n-1} (x-k+1)-
\prod_{k=0}^{n-1}(x-k) \\
&=\prod_{k=-1}^{n-2}(x-k)-\prod_{k=0}^{n-1}(x-k) \\
&=(x+1-x+n-1)\prod_{k=0}^{n-2}(x-k) \\
&=nx^{\underline{n-1}}
\end{aligned}
\]
太完美了!
那么,进一步地
\[\begin{aligned}
\Delta(x^{\underline{n}})&=nx^{\underline{n-1}} \\
\Delta(x^{\underline{n+1}})&=(n+1)x^{\underline{n}} \\
(x+1)^{\underline{n+1}}-x^{\underline{n+1}}&=(n+1)x^{\underline{n}} \\
\frac{(x+1)^{\underline{n+1}}-x^{\underline{n+1}}}{n+1}&=x^{\underline{n}} \\
\Delta(\frac{x^{\underline{n+1}}}{n+1})&=x^{\underline{n}}
\end{aligned}
\]
那么仿照等比数列的式子,我们再来几个例子:
- 求解等差数列 \(\displaystyle\sum_{k=1}^nk\)
\[\sum_{k=1}^{n}k={\sum}_1^{n+1}x^{\underline{1}}\delta x=\frac 1 2(n+1)^{\underline{2}}-\frac 1 2 1^{\underline{2}}=\frac{n(n+1)}{2}
\]
- 求解 \(\displaystyle\sum_{k=1}^n \frac{1}{k(k+1)}\)
\[\sum_{k=1}^n\frac{1}{k(k+1)}=\sum_{k=0}^{n-1}k^{\underline{2}}={\sum}_{0}^{n}x^{\underline{-2}}\delta x=\dfrac{n^{\underline{-1}}-0^{\underline{-1}}}{-1}=1-\dfrac{1}{n+1}
\]
- 求证上指标求和公式 \(\sum_{k=0}^n \binom{k}{m}=\binom{n+1}{m+1}\)
\[\begin{aligned}
\sum_{k=0}^n\dbinom{k}{m}&=\sum_{k=0}^n\frac{k^{\underline{m}}}{m!}=\frac{1}{m!}={\sum}_0^{n+1}x^{\underline{m}}\delta x \\
&=\frac{(n+1)^{\underline{m+1}}-0^{\underline{m+1}}}{m!(m+1)}=\frac{(n+1)^{\underline{m+1}}}{(m+1)!}=\binom{n+1}{m+1}
\end{aligned}
\]
- 求解 \(\displaystyle\sum_{k=1}^n k^2\)
\[\sum_{k=1}^n k^2=\sum_{k=0}^n k^2={\sum}_{0}^{n+1}(x^{\underline{2}}+x)\delta x=\frac 1 3(n+1)^{\underline{3}}+\frac 1 2 (n+1)^{\underline(2)}=(n+1)n(\frac 1 3(n-1)+\frac 1 2)=\frac{(n+1)n(2n+1)}{6}
\]