1. 程式人生 > >省選輔導知識講解目錄:參加省選和NOI還需要哪些知識?

省選輔導知識講解目錄:參加省選和NOI還需要哪些知識?

(一)


    NOIp結束後,我開始給我們學校高一高二的同學進行選拔賽輔導,時間是從12月11日到2月底,主要講解NOIp以外的知識。期末考試的日期是2月1日,以這個日期為分界點可以把輔導分成兩個階段。前一階段全部進行知識講解,講到了組合數學。這個階段一星期上三次課,每個星期總計大概有8到9個課時。講到1月24日後大家就回去準備期末考試了。後一階段是在寒假中了,上了兩個星期,模擬考試和知識講解交替進行。每一天大概6到7課時。
    我講的進度飛快,下面所有的知識基本上是講完了的,不算模擬考試的話總共用了20多天共70到80課時。當然,這些時間裡包括了扯蛋,亂談,和集體玩SC、CS、WWP的時間。記得有一天扯蛋扯了一個多小時。
    最後的結果不令人滿意,因為這次重慶選拔賽的題目很怪,沒有用到什麼比NOIp高階一點的東西。因此,下面我整理的課程安排在實踐上看還沒有確切的最終效果可供參考。

    

(二)


    NOIp的知識點並不多,很多參考書上都有。但是NOIp之外的東西一下子就多了,想再要排出一份課程來就很麻煩了。比如,不少比較交叉的東西很不好歸類。我的這份知識列表很多時候怎麼看怎麼不順眼,有些重複,有些遺漏,有些歸類混淆。這份列表只是一個參考,我強行地歸一下類僅僅是因為課程的安排需要有一個順序。這只是一個初步的嘗試,很多科學性的問題值得思考。


(三)


    我收到過很多郵件,不少人問我想要參加NOI還需要哪些知識。需要的知識很多,列一張表出來的話需要經過仔細的思考。然後我就我仔細思考了一下。我發現,NOI需要的東西還真他媽的多。現在,我就把我想到的東西寫在下面供大家參考。這裡面沒寫貪心、分治之類的東西,因為它們裡面不包含什麼特別的知識點,只有一大堆題目。
    我預言這篇日誌一定是訪問量最高的,因為這裡面關鍵字雲集。若某人查資料找到這裡來失望地發現其實只是一群關鍵字的話,我先給您說不是。


(四)


    OIBH上的牛人其實不多,真正牛的人很少上OIBH。像我這樣的NOI菜鳥時常在想,什麼時候能像集訓隊的那些牛一樣研究一些更高階的東西。很多東西我都不會,比如線性時間構造字尾樹,查詢最大重複子串,HLPP也沒有仔細研究過。但是,我仍然很想幫助更多的OI新手。我經常看到OIBH上很多人問問題卻沒有人回答或回答很簡略,這並不是因為大牛們不會,而是它們沒有時間來寫冗長的分析講解。網上相關的資料其實是很多的,不過能順利理解英文的OIer似乎不佔多數,一些中文講解也有很多問題,有很多講不清的地方。嗯,既然大牛們沒有空寫,那就把任務交給我吧。後來我就寫了一些風格比較相近的長篇知識講解,冠名“Matrix67的OI點滴”。前幾天覺得這真他媽的形式化,然後把標題裡的這句話都刪了。還有很多東西我都想寫,自己該寫什麼就寫什麼更自由一些,不用限制在一個自己規定的框架裡。今後我打算繼續寫下去,仍然以大眾化的、容易理解的、羅嗦的語言來描述各種演算法。省選輔導讓我把這些知識又回顧了一遍,很多東西更清晰了。我想按著下面的線索把我在輔導中講的東西寫下來,提供更多網路上不好找的資料。



時間複雜度(漸近時間複雜度的嚴格定義,NP問題,時間複雜度的分析方法,主定理)
排序演算法(平方排序演算法的應用,Shell排序,快速排序,歸併排序,時間複雜度下界,三種線性時間排序,外部排序)
數論(整除,集合論,關係,素數,進位制,輾轉相除,擴充套件的輾轉相除,同餘運算,解線性同餘方程,中國剩餘定理)
指標(連結串列,搜尋判重,鄰接表,開雜湊,二叉樹的表示,多叉樹的表示)
按位運算(and,or,xor,shl,shr,一些應用)
圖論(圖論模型的建立,平面圖,尤拉公式與五色定理,求強連通分量,求割點和橋,歐拉回路,AOV問題,AOE問題,最小生成樹的三種演算法,最短路的三種演算法,標號法,差分約束系統,驗證二分圖,Konig定理,匈牙利演算法,KM演算法,穩定婚姻系統,最大流演算法,最小割最大流定理,最小費用最大流演算法)
計算幾何(平面解幾及其應用,向量,點積及其應用,叉積及其應用,半平面相交,求點集的凸包,最近點對問題,凸多邊形的交,離散化與掃描)
資料結構(廣度優先搜尋,驗證括號匹配,表示式計算,遞迴的編譯,Hash表,分段Hash,並查集,Tarjan演算法,二叉堆,左偏樹,斜堆,二項堆,二叉查詢樹,AVL,Treap,Splay,靜態二叉查詢樹,2-d樹,線段樹,二維線段樹,矩形樹,Trie樹,塊狀連結串列)
組合數學(排列與組合,鴿籠原理,容斥原理,遞推,Fibonacci數列,Catalan數列,Stirling數,差分序列,生成函式,置換,Polya原理)
概率論(簡單概率,條件概率,Bayes定理,期望值)
矩陣(矩陣的概念和運算,二分求解線性遞推方程,多米諾骨牌棋盤覆蓋方案數,高斯消元)
字串處理(KMP,字尾樹,有限狀態自動機,Huffman編碼,簡單密碼學)
動態規劃(單調佇列,凸完全單調性,樹型動規,多叉轉二叉,狀態壓縮類動規,四邊形不等式)
博奕論(Nim取子游戲,博弈樹,Shannon開關遊戲)
搜尋(A*,ID,IDA*,隨機調整,遺傳演算法)
微積分初步(極限思想,導數,積分,定積分,立體解析幾何)



Matrix67原創
轉貼請註明出處