一、求和符號的使用
Latex中求和符號是使用$\sum$表示,它用來表示一系列數值的總和。
例如,要表示1到10的整數和:
$$\sum_{i=1}^{10}i$$
其中$\sum$表示求和,下標$i=1$表示從1開始累加的變量,上標10表示到10結束。則上式的結果為:
$$1+2+3+...+10=55$$
如果是求平方和,則可以這樣表示:
$$\sum_{i=1}^{10}i^2$$
則上式的結果為:
$$1^2+2^2+3^2+...+10^2=385$$
除了使用整數作為下標外,還可以使用字母作為下標:
$$\sum_{k=1}^{n}f(k)$$
其中$f(k)$表示下標為k的項。
二、多重求和符號
當需要求解多維數組的總和時,就需要使用多重求和符號$\sum\sum$,甚至還可以使用更高維度的求和符號。
例如,一個二維數組$A_{m\times n}$,它的所有元素的和可以寫成:
$$\sum_{i=1}^{m}\sum_{j=1}^{n}A_{i,j}$$
其中$i$表示行的編號,$j$表示列的編號。更高維度的求和符號也類似。
三、求和符號的屬性
1、求和符號可以交換位置
對于一串求和式子,求和符號可以交換位置,例如:
$$\sum_{i=1}^{n}\sum_{j=1}^{n}a_{i,j}=\sum_{j=1}^{n}\sum_{i=1}^{n}a_{i,j}$$
上式的意思是,先按行求和再按列求和得到的結果,和先按列求和再按行求和的結果相等。
2、求和符號可以分配系數
對于一串求和式子,可以將某個常數提到求和符號外面,例如:
$$\sum_{i=1}^{n}(a_i + b_i) = \sum_{i=1}^{n}a_i + \sum_{i=1}^{n}b_i$$
上式的意思是,將$a_i$和$b_i$的和再求和,得到的結果等于先將$a_i$求和得到的結果加上$b_i$求和得到的結果。
3、求和符號可以去掉常數項
如果一串求和式子的每一項都都同加上一個常數$c$,則可以將這個常數項提到求和符號外,例如:
$$\sum_{i=1}^{n}(a_i + c) = \sum_{i=1}^{n}a_i + nc$$
上式的意思是,求和時,將$a_i$的和再加上$n$個$c$。
四、應用舉例
1、利用求和符號求解逆序對問題
對于一個長度為$n$的數組$A$,逆序對指的是滿足$i
使用求和符號,可以較為簡潔地求解逆序對問題,代碼如下:
$$\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}[A_i>A_j]$$
其中$[A_i>A_j]$是一個布爾值,表示$A_i>A_j$時取值為1,否則為0。則上式的結果即為逆序對的數量。
2、離散化問題
對于一組數據,其取值分布可能較廣,難以進行統計分析,甚至可能會出現“指數級圖像”,無法利用數據進行計算。
離散化是一種將連續型的數據映射到有限的幾個數值上的方法。其原理是先將數據排序,然后將每個數據映射到其在排好序后的順序。
應用求和符號可以輕松地進行離散化,代碼如下:
$$ans_i=\sum_{j=1}^{n}[A_j其中$[A_j
3、利用矩陣乘法實現快速矩陣求和
對于一個矩陣$A_{m\times n}$,求解其中所有元素的和可以分別對每行求和,然后再對每行的和求和,即:
$$\sum_{i=1}^{m}\sum_{j=1}^{n}A_{i,j}=\sum_{i=1}^{m}\left(\sum_{j=1}^{n}A_{i,j}\right)$$但是這個過程中,需要將每一行的元素相加。
可以利用矩陣乘法的思路,可以構造一個大小為$1\times n$的矩陣$B$,其中每個元素都是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}$相乘得到的結果是一個$1\times 1$的矩陣,即$A_{m\times n}$的所有元素之和。