一、记号
- 用求和记号可以很好地将很长的式子变为一个较短的式子。
\[a_1+a_2+a_3+\dots+a_{n-1}+a_n=\sum_{i=1}^n a_i\] - \(\sum\) 下面是下界,上面是求和的上界。上面的式子也可以这样写:
\[a_1+a_2+a_3+\dots+a_{n-1}+a_n=\sum_{1 \le i \le n} a_i\] - 这样的式子迭代性很强,可以多重求和: \(\displaystyle\sum_i\Big(\sum_ja_i+b_j\Big)\)
假设要算100内奇数平方的和,可以这样写: \(\displaystyle\sum_{k=1}^{100}k^2\ [k为奇数]\) (隐式表达)
也可以这样: \(\displaystyle\sum_{k=0}^{49}(2k+1)^2\) (显示表达)-
\([P(i)]\),表示一个判断条件。
\[[P(i)]=\begin{cases} 1 &P(i)成立 \\ 0 &P(i)不成立 \end{cases}\]例如 \(\sum_d [n|d]\) 表示\(n\)的因数个数。
也就是说和式的条件也可以写在里面:
\[a_1+a_2+a_3+\dots+a_{n-1}+a_n=\sum_i a_i[1 \le i \le n]\]
二、和式的计算
- 分配律: \(\displaystyle\sum_i a_i\times b=b\times\sum_i a_i\)
- 结合律: \(\displaystyle\sum_{i=1}^n a_i+\sum_{i=1}^n b_i=\sum_{i=1}^n a_i+b_i\)
- 广义分配律: \(\displaystyle\sum_i\Big(\sum_jf(i)g(j)[P(i)][Q(j)]\Big)=\Big(\sum_i f(i)[P(i)]\Big)\Big(\sum_j g(j)[Q(j)]\Big)\)
- 交换求和顺序: \(\displaystyle\sum_i\Big(\sum_ja_{i,j}[P(i,j)]\Big)=\sum_j\Big(\sum_ia_{i,j}[P(i,j)]\Big)\)
三、应用
求 \(\displaystyle\sum_{1\le j<k\le n}{1\over k-j}\) 的值?
\(\begin{aligned} 解:原式&=\sum_{j=1}^{n-1}\Big(\sum_{k=j+1}^n{1\over k-j}\Big) \\ &=\sum_{j=1}^{n-1}\Big(\sum_{k-j=1}^{n-j}{1\over k-j}\Big) \\ &=\sum_{j=1}^{n-1}\Big(\sum_{k=1}^{n-j}{1\over k}\Big) \\ &=\sum_{k=1}^{n}\Big(\sum_{j=1}^{n-k}{1\over k}\Big) \\ &=\sum_{k=1}^{n}\Big({1\over k}\sum_{j=1}^{n-k}1\Big) \\ &=\sum_{k=1}^{n}{1\over k}(n-k) \\ &=n\sum_{k=1}^{n}{1\over k}-1 \\ \end{aligned}\)
简单的运算把两重循环变为了一重循环,很好的降低了时间复杂度。