數學部分簡介

本章介紹 OI 中可能會用到的數學知識。計算機科學與數學緊密相關,而在算法競賽中尤其強調以數論、排列組合、概率期望、多項式為代表離散、具體的數學:其注重程序實現和現實問題,可以出現在幾乎任何類別的題目中。

實際上,算法競賽中涉及到的算法和數據結構以及自動機等也可以被認為屬於數學範疇,但是這些內容被細分到諸如字符串等的具體章節加以應用背景以更好理解。本章主要介紹數學中一些基礎概念、代數、數論、博弈論及概率論等知識。運用這些知識可以幫助優化其他算法和數據結構,例如:

  • 用多項式優化卷積形式的揹包,來做一些字符串題。
  • 很多遞推類型的題背景都是排列組合或概率期望,可以更進一步用生成函數推導和解決,以及使用基於 FFT 的分治優化算法效率。
  • 利用同餘和環分析圖上非簡單路徑在模意義下可能的權值和,並用帶權並查集維護。

此外,高中數學是信息學競賽數學的基礎,學好課本上的基本概念和性質能更好地幫助學習本章內容。