《具体数学》 2.4 多重和式
一、基本法则
本章节其实非常简单,特别是对于 OIer 来说。
下面就是一个简单的多重和式
对于多重和式,有一个被称为交换求和次序的基本法则,它推广了我们在 2.3 中定义的结合律。
如何理解呢?其实就是下面的代码
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++) if(P(i,j)) ans += a[i][j];
for(int j = 1; j <= n; j++)
for(int i = 1; i <= n; i++) if(P(i,j)) ans += a[i][j];
于是可以进一步推导出和式的一般分配律
(我觉得这个式子有点…怪怪的)
实际上,交换求和次序有一个非常重要的变形
其中,集合 $A,\,B(i),\,B^{\prime},\,A^{\prime}(j)$ 必须以下面的方式关联
举个例子,比如
于是
当然更重要的一个例子
于是
这是数论分块中非常重要的一个结论,你可以在 洛谷P2522 [HAOI2011]Problem b 中看到它的用处。
二、“具体”数学
小心!本书的作者似乎把 $i,j,k,n$ 视作“实际的数”。
例如下面这个例子
(作者好像很喜欢 $j,k$ )
首先书上给出了一种做法
其中 $H_n=\sum_{k=1}^n\frac{1}{k}$ 称为调和数。
这并不是一个封闭形式,而我们目前还不会将调和数的和转化为封闭形式
而实际上我们还可以这么做
于是我们求出了 $S_n$ ,还顺便得到了 $\sum_{0 \le k<n} H_k = nH_n-n$ 。
实际上这种情况很常见,例如 note[16] 中本人用了两种方式推导结果,而其中一种方式却比较复杂。