一、求和符號(hào)的使用
Latex中求和符號(hào)是使用$\sum$表示,它用來(lái)表示一系列數(shù)值的總和。
例如,要表示1到10的整數(shù)和:
$$\sum_{i=1}^{10}i$$
其中$\sum$表示求和,下標(biāo)$i=1$表示從1開(kāi)始累加的變量,上標(biāo)10表示到10結(jié)束。則上式的結(jié)果為:
$$1+2+3+...+10=55$$
如果是求平方和,則可以這樣表示:
$$\sum_{i=1}^{10}i^2$$
則上式的結(jié)果為:
$$1^2+2^2+3^2+...+10^2=385$$
除了使用整數(shù)作為下標(biāo)外,還可以使用字母作為下標(biāo):
$$\sum_{k=1}^{n}f(k)$$
其中$f(k)$表示下標(biāo)為k的項(xiàng)。
二、多重求和符號(hào)
當(dāng)需要求解多維數(shù)組的總和時(shí),就需要使用多重求和符號(hào)$\sum\sum$,甚至還可以使用更高維度的求和符號(hào)。
例如,一個(gè)二維數(shù)組$A_{m\times n}$,它的所有元素的和可以寫(xiě)成:
$$\sum_{i=1}^{m}\sum_{j=1}^{n}A_{i,j}$$
其中$i$表示行的編號(hào),$j$表示列的編號(hào)。更高維度的求和符號(hào)也類(lèi)似。
三、求和符號(hào)的屬性
1、求和符號(hào)可以交換位置
對(duì)于一串求和式子,求和符號(hào)可以交換位置,例如:
$$\sum_{i=1}^{n}\sum_{j=1}^{n}a_{i,j}=\sum_{j=1}^{n}\sum_{i=1}^{n}a_{i,j}$$
上式的意思是,先按行求和再按列求和得到的結(jié)果,和先按列求和再按行求和的結(jié)果相等。
2、求和符號(hào)可以分配系數(shù)
對(duì)于一串求和式子,可以將某個(gè)常數(shù)提到求和符號(hào)外面,例如:
$$\sum_{i=1}^{n}(a_i + b_i) = \sum_{i=1}^{n}a_i + \sum_{i=1}^{n}b_i$$
上式的意思是,將$a_i$和$b_i$的和再求和,得到的結(jié)果等于先將$a_i$求和得到的結(jié)果加上$b_i$求和得到的結(jié)果。
3、求和符號(hào)可以去掉常數(shù)項(xiàng)
如果一串求和式子的每一項(xiàng)都都同加上一個(gè)常數(shù)$c$,則可以將這個(gè)常數(shù)項(xiàng)提到求和符號(hào)外,例如:
$$\sum_{i=1}^{n}(a_i + c) = \sum_{i=1}^{n}a_i + nc$$
上式的意思是,求和時(shí),將$a_i$的和再加上$n$個(gè)$c$。
四、應(yīng)用舉例
1、利用求和符號(hào)求解逆序?qū)?wèn)題
對(duì)于一個(gè)長(zhǎng)度為$n$的數(shù)組$A$,逆序?qū)χ傅氖菨M(mǎn)足$i
使用求和符號(hào),可以較為簡(jiǎn)潔地求解逆序?qū)?wèn)題,代碼如下:
$$\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}[A_i>A_j]$$
其中$[A_i>A_j]$是一個(gè)布爾值,表示$A_i>A_j$時(shí)取值為1,否則為0。則上式的結(jié)果即為逆序?qū)Φ臄?shù)量。
2、離散化問(wèn)題
對(duì)于一組數(shù)據(jù),其取值分布可能較廣,難以進(jìn)行統(tǒng)計(jì)分析,甚至可能會(huì)出現(xiàn)“指數(shù)級(jí)圖像”,無(wú)法利用數(shù)據(jù)進(jìn)行計(jì)算。
離散化是一種將連續(xù)型的數(shù)據(jù)映射到有限的幾個(gè)數(shù)值上的方法。其原理是先將數(shù)據(jù)排序,然后將每個(gè)數(shù)據(jù)映射到其在排好序后的順序。
應(yīng)用求和符號(hào)可以輕松地進(jìn)行離散化,代碼如下:
$$ans_i=\sum_{j=1}^{n}[A_j其中$[A_j
3、利用矩陣乘法實(shí)現(xiàn)快速矩陣求和
對(duì)于一個(gè)矩陣$A_{m\times n}$,求解其中所有元素的和可以分別對(duì)每行求和,然后再對(duì)每行的和求和,即:
$$\sum_{i=1}^{m}\sum_{j=1}^{n}A_{i,j}=\sum_{i=1}^{m}\left(\sum_{j=1}^{n}A_{i,j}\right)$$但是這個(gè)過(guò)程中,需要將每一行的元素相加。
可以利用矩陣乘法的思路,可以構(gòu)造一個(gè)大小為$1\times n$的矩陣$B$,其中每個(gè)元素都是1,然后將矩陣$A$乘上矩陣$B$,得到的矩陣即為每行元素之和,最后將矩陣$B$的元素之和即為矩陣$A$的所有元素之和。
代碼如下:
$$ans=\sum_{i=1}^{m}\sum_{j=1}^{n}A_{i,j}=\sum_{i=1}^{m}\left[\sum_{j=1}^{n}A_{i,j}\right]=\sum_{i=1}^{m}\left[\begin{matrix}1&1&\cdots&1\end{matrix}\begin{matrix}A_{i,1}\\A_{i,2}\\\vdots\\A_{i,n}\end{matrix}\right]=\begin{matrix}1&1&\cdots&1\end{matrix}A_{m\times n}$$其中,$A_{m\times n}$與$B_{1\times n}$相乘得到的結(jié)果是一個(gè)$1\times 1$的矩陣,即$A_{m\times n}$的所有元素之和。