1.時間4h,運用算法和數據機構,寫好的程序要放到指定文件夾的指定文件下面;
2.瞭解和熟悉API:棧、向量、映射、列表、集合、隊列、優先隊列
3.STL:標準模板庫(排序、刪除、計數、比較、找特殊對象、合併到另一容器中、執行其他操作等)
4.因爲機子很差,所以寫好的文件不要保存到c盤,而是放到D/E 瀏覽器可以隨開隨關,題目是有梯度的
5.基礎掌握:變量、操作符、選擇、循環、遞歸
面向對象:類、對象、引用、構造方法、參數傳遞、this引用、static、繼承、多態、接口、內部類、匿名類(匿名類就是一個沒有類申明的類體,因爲沒有名稱,所 有匿名類不可以申明對象,但卻可以創建對象。eg: Speak speak = new Speak(){ }這就是匿名類)
異常和保護
I/O:讀寫文件,File類、文本操作、與二進制操作(字符流、字節流)
多線程:線程的排斥(synchronized)、協作(wait,notify)(別理)
網絡:只限於Socket通信()別理
6.大賽題目的設計本着需要儘可能少的領域知識的原則
所有特殊領域知識,一定會在題目中詳細描述,一定會有例如…的說明語句,以免選手誤解。
例外:數學領域
數學常識性知識不在題目中詳述!
理工低年級以內的數學知識
算數:素數,整除,餘數,求模,不定方程 …
代數:函數,方程,多項式,…
解析幾何:笛卡爾座標系,點到直線的舉例,極座標,…
複數:模,夾角,矢量的合成和分解
7.不會出現:
AWT,Swing界面類的編程或填空問題
JSP, Servlet, HTML, CSS,XML, JavaScript 等web編程相關
Struts, Spring等開源框架
JavaEE 規範,容器(例如: JNDI, javaBean等)
JDBC, SQL 等數據庫編程相關內容
8.基本算法:窮舉法(暴力破解)
回溯法(試探,返回,試探,返回…)
分治法
動態規劃
9.圖論(學習時間有限不理)圖的深度優先、廣度優先遍歷
求割點或橋
極大強連通分量
拓撲排序
最短路徑
歐拉回路
最小生成樹
最大流,費用流
10.計算幾何算法
圓,橢圓,凸多邊形,線段
相交點
交集面積,並集面積
11.有些結果填空題或大題完全放棄遞歸會很吃力
排列問題舉例
n次取字母
12.評分標準:注意大小寫,中西文符號區分 比對時會去掉前後多餘的空白字符 選手粗心:分號已經存在了,中西文符號問題
思維要嚴密。邊界條件判斷不足,引發異常,可能損失部分分數。
大數據規模。算法設計不當會導致溢出或超時(內存和時間限制)
13.主要是培養邏輯能力,可以通過各種題目練習
數學練習很重要,最有成效!
例如:歐拉計劃 網站
國外教材的習題很有挑戰性、開放性
《java大學教程》 《c++大學教程》
國外教材《算法導論》
紮實基礎的:《具體數學》
北大,浙大,杭電等大學的ACM訓練的OJ網站
14.題目題材
數學素材,最普遍,奧數?
串的各種變換
java允許使用正則(正則表達式:字符串匹配 eg:英文拼字遊戲,查找含有關鍵字的字符串),可能會事半功倍
文件內容的處理(本次可能性不大,可能會變化形式)
文本文件轉換格式,比較,搜索等
二進制文件提取某種信息,某種映射
仿真問題
類似電梯調用,餐廳調用等。。
各種概率問題
各種求最優解問題(解空間中搜索)
博弈問題
圖論問題
加權最短路徑
最大流量