回覆列表
-
1 # 魔數思
-
2 # 瀟軒
高中的演算法競賽的數學內容是超越了高中數學的一般性內容的。你需要額外的學習一些數學知識才可以滿足競賽的需要。
首先要補充的是圖論的知識,至少你應該知道尤拉七橋問題。最好是你要能夠區分歐拉回路與哈密頓迴路的區別。另外,在演算法這邊,與圖論相關的就是最小生成樹——也就是把所有頂點都聯起來的邊數最少的樹。
其次,你需要補充的是數論的知識。其中最重要的是同餘的概念——也就是整數的整除,如果被除數相同,餘數也相同,我們說這個幾個除數是同餘的。線性同餘方程最典型的就是所謂的韓信點兵問題。中國古代在這方面有最高的數學成就——中國剩餘定理。當然了,在高中演算法競賽中,也可能考到的是高次同餘方程,這個就更難一些了。
最好,還要補充的是動態規劃與博弈論的數學知識。
總之,市場上有很多相關的書,你可以買幾本看看就知道了,但光有高中課堂的數學知識是不夠的。
演算法競賽對數學要求其實不高 主要是計算幾何和離散數學的一些內容
但競賽對數學思維要求比較高 就是遇到一個問題你得知道怎麼去構建演算法 這個和高中數學解題有很大的不同 比如一個問題是用貪心還是動態規劃 怎麼去發現最優子結構 如何搜尋減支 這是需要一段時間的思維訓練的