1. 程式人生 > 實用技巧 >2020安徽省程式設計省賽知識點

2020安徽省程式設計省賽知識點

程式設計類比賽賽題

專家委員會參照但不限於下列知識點進行命題,一般10~12題,比賽時間為5個小時。

資料結構知識:包括基礎資料結構(連結串列、棧和佇列、串、樹和二叉樹、圖、排序與檢索等);樹形結構(線段樹,樹狀陣列,字典樹,伸展樹,左偏樹,動態樹,lca&rmq,劃分樹,SBT等);字串(kmp、AC自動機、字尾陣列、最小表示法);其他(並查集、散列表、塊狀連結串列、雙向連結串列)等。

基本演算法知識:包括基礎演算法(列舉、貪心、遞迴、分治、遞推、構造、模擬等);動態規劃(簡單dp、線性dp、樹形dp、狀態壓縮dp、單調性優化等);搜尋(dfs、bfs、記憶化搜尋、優化與剪枝、雙向搜尋、A*、IDA*等)等。

圖論:包括最短路徑(單源、任意);生成樹(prim、kruskal、度限制最小生成樹、最優比率生成樹、次小生成樹、最小樹形圖、生成樹的計數、樹的劃分和列舉);匹配問題(二分圖的最大匹配、KM、2-SAT、同構);網路流(最大流、最小費用最大流、最小割模型、網路流規約);其他(拓撲排序、雙連通分量、強連通分支及其縮點、圖的割邊與割點、最小環、尤拉路徑、哈密頓路徑、平面圖、分層圖思想、偶圖)等。

數學:包括數論(素數和整除問題、進位制、同餘模算術、整數因子分解、GCD、擴充套件歐幾里得、求解模線性方程、中國餘數定理、元素的冪);組合數學(加法和乘法原理、排列組合、遞推關係和母函式、容斥原理、抽屜原理、置換群與Polya定理、MoBius反演、偏序關係理論);計算方法(二分法求解單調函式相關知識、三分法求解單峰(單谷)的極值、矩陣法、迭代逼近、高斯消元法、隨機化演算法、0/1分數規劃);計算幾何(判斷線段相交、判斷直線相交、判斷點是否在多邊形內、凸多邊形面積&重心計算、求外接圓與內接圓、求凸包、最近點對問題、最遠點對問題、點集或圖形集合的最小覆蓋圓、點集或圖形集合的最小覆蓋矩形、矩形的交與並、三角剖分等);其他(博弈論、線性規劃、整數規劃、概率問題、多項式與快速傅立葉、數學思想與方法的綜合運用如構造、猜想、歸納法、反證法等)。

競賽進行中,每個參賽隊擁有一臺計算機,每一道題均採用程式求解,參賽隊解答出每一道題後通過比賽系統線上提交原始碼,後臺伺服器通過測試資料進行程式正確性判斷,實時反饋每個測試點的判定結果給提交隊伍,系統反饋的判定結果及其含義如下所示:
在這裡插入圖片描述
例如:某題共有10個測試點,某隊伍提交程式碼後,系統反饋結果為:++xxrrtt++,該反饋結果包含10個符號,分別代表相應測試點的判定結果。 對於上述反饋結果,可以發現,該提交程式碼通過了1,2,9,10測試點,其中3,4測試點答案錯誤,5,6測試點執行時錯誤,7,8測試點執行超時。