學大偉業:資訊學競賽如何學習及準備攻略!
參加資訊學競賽的考生,需要具備五大學習能力,第一是觀察、分析問題的能力;二是數學建模的能力;三是靈活運用演算法的能力;四是編寫程式碼並且除錯的能力;五是檢測程式是否正確的能力。
除此之外,除錯能力比程式設計能力更重要。很多學生之所以參加資訊學競賽但拿不了獎,很大部分原因就在於除錯環節出了差錯。具備演算法功底、程式設計能力之外,還需要具備創造性思維以及團隊合作的能力。資訊學與各個學科都密切相關,尤其是數學學科,資訊學的本質就是利用計算機來解決數學問題。下面學大偉業小編普及一下資訊學競賽報考常識。
資訊學競賽的比賽時間
每年10-11月份:全國奧林匹克資訊學競賽聯賽NOIP,初賽和複賽;
來年7月份:全國奧林匹克資訊學競賽NOI,資訊競賽國決;
翻年1月份:國家隊選拔賽;
8月份:參加國際奧林匹克資訊學競賽IOI。
資訊學競賽考什麼?考試的形式及流程
聯賽分兩個等級組:普及組和提高組。每組競賽分兩輪:初試和複試。
初試形式為筆試,側重考察學生的計算機基礎知識和程式設計的基本能力,並對知識面的廣度進行測試。初試為資格測試,各省初試成績在本賽區前15%的學生進入複賽。
複試形式為上機,著重考察學生對問題的分析理解力,數學抽象能力,程式語言的能力和程式設計技巧、想象力和創造性等。各省聯賽的等第獎在複試的優勝者中產生。
初賽:初賽全部為筆試,滿分100分。試題由四部分組成:
1、選擇題:共20題,每題1.5分,共計30分。每題有5個備選答案,前10個題為單選題(即每題有且只有一個正確答案,選對得分),後10題為不定項選擇題(即每題有1至5個正確答案,只有全部選對才得分)。
2、問題求解題:共2題,每題5分,共計10分。試題給出一個敘述較為簡單的問題,要求學生對問題進行析,找到一個合適的演算法,並推算出問題的解。考生給出的答案與標準答案相同,則得分:否則不得分。
3、程式閱讀理解題:共4題,每題8分,共計32分。題目給出一段程式(不一定有關於程式功能的說明),考生通過閱讀理解該段程式給出程式的輸出。輸出與標準答案一致,則得分;否則不得分。
4、程式完善題:共2題,每題14分,共計28分。題目給出一段關於程式功能的文字說明,然後給出一段程式程式碼,在程式碼中略去了若干個語句或語句的一部分並在這些位置給出空格,要求考生根據程式的功能說明和程式碼的上下文,填出被略去的語句。填對則得分;否則不得分。
對於初賽,考生還不夠深入瞭解的話,可以去學大偉業找一些資料,學大偉業近年的歷年真題等相關資料整理的非常全面。
複賽:自2011年開始,提高組複賽分為一試和二試,各3題,每題100分,共計600分。
每一試題包括:題目、問題描述、輸入輸出要求、樣例描述及相關說明。測試時,測試程式為每道題提供了5-10組測試資料,考生程式每答對一組得10—20分,累計分即為該道題的得分。
測試的知識範圍
(一)初賽內容與要求
1、計算機的基本常識
計算機和資訊社會(資訊社會的主要特徵、計算機的主要特徵、數字通訊網路的主要特徵、數字化)
資訊輸入輸出基本原理(資訊交換環境、文字圖形多媒體資訊的輸入輸出方式)
資訊的表示與處理(資訊編碼、微處理部件MPU、記憶體儲結構、指令,程式,和儲存程式原理、程式的三種基本控制結構)
資訊的儲存、組織與管理(儲存介質、儲存器結構、檔案管理、資料庫管理)
資訊系統組成及互連網的基本知識(計算機構成原理、槽和埠的部件間可擴充套件互連方式、層次式的互連結構、網際網路絡、TCP/IP協議、HTTP協議、WEB應用的主要方式和特點)
人機互動介面的基本概念(視窗系統、人和計算機交流資訊的途徑(文字及互動操作))
資訊科技的新發展、新特點、新應用等。
2、計算機的基本操作
windowS和LINUX的基本操作知識
聯網的基本使用常識(網上瀏覽、搜尋和查詢等)
常用的工具軟體使用(文字編輯、電子郵件收發等)
3、程式設計的基本知識
資料結構
程式語言中基本資料型別(字元、整數、長整數、浮點)
浮點運算中的精度和數值比較
一維陣列(串)與線性表
記錄型別(PASCAL)/結構型別(C)
程式設計
結構化程式設計的基本概念
閱讀理解程式的基本能力
具有將簡單問題抽象成適合計算機解決的模型的基本能力
具有針對模型設計簡單演算法的基本能力
程式流程描述(自然語言/偽碼/NS圖/其他)
基本演算法處理
初等演算法(計數、統計、數學運算等)
排序演算法(冒泡法、插入排序、合併排序、快速排序)
查詢(順序查詢、二分法)
回溯演算法
(二)複賽內容與要求
在初賽的內容上增加以下內容
1、資料結構
指標型別
多維陣列
單鏈表及迴圈連結串列
二叉樹
檔案操作(從文字檔案中讀入資料,並輸出到文字檔案中)
2、程式設計
演算法的實現能力
程式除錯基本能力
設計測試資料的基本能力
程式的時間複雜度和空間複雜度的估計
3、演算法處理
離散數學知識的應用(如排列組合、簡單圖論、數理邏輯)
分治思想
模擬法
貪心法
簡單搜尋演算法(深度優先廣度優先)搜尋中的剪枝
動態規劃的思想及基本演算法
資訊學競賽必備書單彙總
基礎篇
1、《全國青少年資訊學奧林匹克分割槽聯賽初賽培訓教材》(推薦指數:4顆星)曹文,吳濤編著,知識點大雜燴,部分內容由學生撰寫,但是對初賽知識點的覆蓋還是做得相當不錯的。語言是pascal的。
2、譚浩強老先生寫的《C語言程式設計(第三版)》(推薦指數:5顆星)針對零基礎學C語言的筒子,這本書是必推的。
3、《騙分導論》(推薦指數:5顆星)參加NOIP必看之經典。
4、《全國資訊學奧林匹克聯賽培訓教程(一)》(推薦指數:5顆星)傳說中的黃書。吳文虎,王建德著,系統地介紹了計算機的基礎知識和利用Pascal語言進行程式設計的方法。
5、《全國青少年資訊學奧林匹克聯賽模擬訓練試卷精選》王建德著,傳說中的紅書。
6、《演算法競賽入門經典》(推薦指數:5顆星)劉汝佳著,演算法必看經典。
7、《演算法競賽入門經典:訓練指南》(推薦指數:5顆星)劉汝佳著,《演算法競賽入門經典》的重要補充。
歷年真題必須做,這是絕對不能遺失的存在!
1、題庫方面首推USACO(美國的賽題),usaco寫完了一等基本上就沒有問題,如果悟性好的話甚至能在NOI取得不錯的成績。
2、除此之外Vijos也是一個不錯的題庫,有很多中文題。
3、國內廣受NOIP級別選手喜歡的國內OJ(Tyvj、CodeVs、洛谷、RQNOJ)。
4、BZOJ擁有上千道省選級別及以上的題目資源,但有一部分題目需要購買許可權才能訪問。
NOIP初賽偏重於基礎知識,一部分是計算機的基礎知識,計算機基礎部分,內容多而雜,多以選擇題形式出現,所以不必要花太多時間去背,而是平時多積累,有意識的去記憶,留下印象。內容會包括計算機的特徵(硬體和軟體)、網路的特徵和基本概念、資訊的輸入輸出、資訊的表示和處理、新興應用等。另一部分是數學內容,範圍很廣,永遠不知道會考到哪一部分的知識點,但試卷包括兩道數學題,所以不能忽視。比較重要的大概包括排列、組合、輾轉相除法、容斥原理等。還有資料結構會考基本型別(整型、長整型、浮點型、字元等)和陣列。比較容易在初賽中出現的資料型別有樹、棧、佇列等。
樹:二叉樹、完全樹等;棧:先進後出特點;佇列:先進先出特點。最後一部分是程式完成(也就是演算法)。這部分完全是靠你的做題基礎,沒有捷徑,只能靠你平時多做題,掌握簡單演算法。