上期我們推送了全國青少年信息學(xué)奧林匹克系列競賽(NOI)大綱正式發(fā)布的通知,乖小助將會把大綱入門級、提高級和NOI級全部整理出來,,方便大家查閱與收藏,以下是官網(wǎng)發(fā)布的大綱詳情~ 2.1.1計算機基礎(chǔ)與編程環(huán)境1.【1】計算機的基本構(gòu)成(CPU,、內(nèi)存,、I/O設(shè) 備等)2.【1】Windows、 Linux等操作系統(tǒng)的基本概念及其常見操作3.【1】計算機網(wǎng)絡(luò)和Internet的基本概念4.【1】計算機的歷史及其在現(xiàn)代社會中的常見應(yīng)用6.【1】進制的基本概念與進制轉(zhuǎn)換,、字節(jié)與字7.【1】程序設(shè)計語言以及程序編譯和運行的基本概念8.【1】使用圖形界面新建,、復(fù)制、刪除,、移動文件或目錄9.【1】使用Windows系統(tǒng)下的集成開發(fā)環(huán)境(例如 Dev C++等)10.【1】使用Linux系統(tǒng)下的集成開發(fā)環(huán)境(例如 Code::Blocks等)11.【1】g++,、gcc等常見編譯器的基本使用·【1】標(biāo)識符、關(guān)鍵字,、常量,、變量、字符串,、 表達式的概念·【2】頭文件與名字空間的定義與理解 ·【2】編輯、編譯,、解釋,、調(diào)試等概念理解·【1】整數(shù)型:int, long long·【1】實數(shù)型:float, double·【2】cin 語句.scanf 語句,cout語句,,printf語句,,賦值語句,復(fù)合語句·【2】if語句,,switch語句,,多層條件語句·【2】for語句,while語句,,do while語句 ·【3】多層循環(huán)語句·【1】算數(shù)運算:加,、減、乘,、除,、整除,、求余·【1】關(guān)系運算:大于,大于等于,,小于,,小于等于,等于,,不等于·【1】邏輯運算:與(&&),、或(||)、非(?。?/section>·【1】變量自增與自減運算 ·【1】三目運算 ·【3】位運算:與(&),、或(|)、非(~),、 異或(^),、左移、右移 5. 數(shù)學(xué)庫常用函數(shù) ·【3】絕對值函數(shù),,四舍五入函數(shù),,取上整函數(shù), 取下整函數(shù),,常用三角函數(shù),,對數(shù)函數(shù),指數(shù) 函數(shù),,平方根函數(shù) 6. 結(jié)構(gòu)化程序設(shè)計 ·【1】順序結(jié)構(gòu),、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)·【2】自頂向下、逐步求精的模塊化程序設(shè)計·【1】數(shù)組定義,,數(shù)組與數(shù)組下標(biāo)的含義·【3】純二維數(shù)組與多維數(shù)組的綜合應(yīng)用 ·【2】字符數(shù)組與字符串的關(guān)系·【2】string類定義,、相關(guān)函數(shù)引用·【2】函數(shù)定義與調(diào)用,形參與實參·【2】遞歸函數(shù)的概念,、定義與調(diào)用
·【3】結(jié)構(gòu)體的定義及應(yīng)用·【3】<algorithm> 中 sort 函數(shù)·【4】 棧(stack),、 隊列(queue),、鏈表(list)、向量(vector)等容器1 C++以外的其他高級程序設(shè)計語言可參照本部分內(nèi)容,。2.1.3 數(shù)據(jù)結(jié)構(gòu)·【3】鏈表:單鏈表,、雙向鏈表、循環(huán)鏈表·【3】二叉樹的定義及其基本性質(zhì) ·【4】二叉樹的孩子表示法·【4】哈夫曼樹的定義、構(gòu)造及其遍歷 ·【4】二叉樹的定義,、構(gòu)造及其遍歷·【2】算法描述:自然語言描述,、流程圖描述,、偽代碼描述·【4】求高精度整數(shù)除以單精度整數(shù)的商和余數(shù)
·【5】簡單區(qū)間類型動態(tài)規(guī)劃 ·【1】數(shù)的概念,算術(shù)運算(加,、減,、乘、除,、求余)·【1】數(shù)的進制:二進制,、八進制、十六進制和十進制及其轉(zhuǎn)換·【2】編碼:ASCII碼,,哈夫曼編碼,,格雷碼·【3】整除、因數(shù),、倍數(shù),、指數(shù),、質(zhì)數(shù),、合數(shù)、同余等概念·【3】歐幾里得算法(輾轉(zhuǎn)相除法) ·【4】埃氏篩法和線性篩法求素數(shù)2.2.1 計算機基礎(chǔ)與編程環(huán)境1.【5】在Linux系統(tǒng)終端中使用mkdir,、cp,、rm、mv等命令新建,、復(fù)制,、刪除、移動文件或目錄2.【5】在Linux系統(tǒng)終端中使用cd,、pwd,、ls等命令更改、顯示目錄路徑和查看目錄中的文件3.【5】在Linux系統(tǒng)下使用Gedit,、Vim或Emacs等文本編輯工具編寫代碼4.【5】熟悉g++,、gcc等編譯器以及優(yōu)化、數(shù)學(xué)庫等常見編譯選項5.【5】在Linux系統(tǒng)終端中運行程序,,并使用time命令查看程序用時(區(qū)分real time,、sys time和user time)6.【5】了解調(diào)式工具gdb及其break、display,、continue,、step等命令·【5】列表(list),雙端隊列(deque),,優(yōu)先隊列(priority_queue)·【5】多重集合(multiset) ·【5】映射(map),,多重映射(multimap)2 C++以外的其他高級程序設(shè)計語言可參照本部分內(nèi)容,。2.2.2 數(shù)據(jù)結(jié)構(gòu)·【6】樹與二叉樹的轉(zhuǎn)化——孩子兄弟表示法
·【7】笛卡爾樹 ·【8】二叉平衡樹AVL,、treap,、splay等·【6】有向無環(huán)圖 ·【7】連通圖與強連通圖 ·【7】重連通圖·【5】數(shù)值哈希函數(shù)構(gòu)造·【6】堆排序 ·【6】樹形選擇排序(錦標(biāo)賽排序)·【6】Prim和kruskal等求最小生成樹算法·【6】Dijkstra、bellman_ford,、SPFA等求單源最短路算法·【6】Floyd-Warshall算法求任意兩點間的最短路和傳遞閉包·【7】狀態(tài)壓縮動態(tài)規(guī)劃·【8】動態(tài)規(guī)劃的常用優(yōu)化·【6】特殊矩陣:稀疏矩陣,,三角矩陣,,對稱矩陣1.【8】STL模板:容器(containers)、迭代器(iterators),、空間配置器(allocators),、配接器(adapters)、算法(algorithms),、仿函數(shù)(functors)2.【8】面向?qū)ο蟮某绦蛟O(shè)計思想(OOP)3 C++以外的其他高級程序設(shè)計語言可參照本部分內(nèi)容,。2.3.2 數(shù)據(jù)結(jié)構(gòu) 5.【9】可持久化數(shù)據(jù)結(jié)構(gòu)·【8】二分圖的最大匹配——匈牙利算法 ·【9】二分圖的最佳匹配算法——KM算法·【9】復(fù)雜動態(tài)規(guī)劃模型構(gòu)建·【9】復(fù)雜動態(tài)規(guī)劃模型的優(yōu)化·【10】熵,、互信息,、條件熵、相對熵的基本概念·【8】大步小步(Baby Step Giant Step,,BSGS)算法·【10】快速傅里葉變換(Fast Fourier Transform,,F(xiàn)FT)·【9】求概率的乘法公式、全概率公式,、貝葉斯公式·【9】Sprague-Garundy(SG)函數(shù)概念及應(yīng)用
|