一、知識點
數據結構:
1、單,雙鏈表及循環鏈表
2、樹的表示與存儲,二叉樹(概念,遍歷)二叉樹的應用(二叉排序樹,判定樹,博弈樹,解答樹等)
3、文件操作(從文本文件中讀入數據並輸出到文本文件中)
4、圖(基本概念,存儲結構,圖的運算)
數學知識:
1、離散數學知識的應用(如排列組合、簡單的圖論,數理邏輯)
2、數論知識
3、線性代數
4、組合代數
5、計算幾何
二、算法
1、排序算法(冒拋法,插入排序,合併排序,快速排序,堆排序)
2、查找(順序查找,二分法)
3、回溯算法
4、遞歸算法
5、分治算法
6、模擬法
7、貪心法
8、簡單搜索算法(深度優先,廣度優先),搜索中的剪枝,A*算法
9,動態規劃的思想及基本算法
10,高精度運算
三、ACM競賽的題型分析
競賽的程序設計一般只有16種類型,它們分別是:
DynamicProgramming(動態規劃)
Greedy(貪心算法)
CompleteSearch(窮舉搜索)
FloodFill(不知該如何翻譯)
ShortestPath(最短路徑)
RecursiveSearchTechniques(回溯搜索技術)
MinimumSpanningTree(最小生成樹)
Knapsack(揹包問題)
ComputationalGeometry(計算幾何學)
NetworkFlow(網絡流)
EulerianPath(歐拉回路)
Two-DimensionalConvexHull(不知如何翻譯)
BigNums(大數問題)
HeuristicSearch(啓發式搜索)
ApproximateSearch(近似搜索)
AdHocProblems(雜題)
四、ACM競賽參考書
《實用算法的分析與程序設計》(吳文虎,王建德著,電子工業出版社,競賽類的黑寶書)
《青少年國際和全國信息學(計算機)奧林匹克競賽指導)――組合數學的算法和程序設計》(吳文虎,王建德著,清華大學出版社,參加競賽組合數學必學)
《計算機算法設計與分析》 (王曉東編著,最好的數據結構教材)
《數據結構與算法》 (傅清祥,王曉東編著,我所見過的最好的算法教材)
《信息學奧林匹克競賽指導――1997-1998競賽試題解析》(吳文虎,王建德著,清華大學出版社)
《計算機程序設計技巧》 D.E.Kruth著,算法書中最著名的《葵花寶典》,大師的作品,難度大)
《計算幾何》周陪德著
《ACM國際大學生程序設計競賽試題與解析(一)》(吳文虎著,清華大學出版社)
《數學建模競賽培訓教材》 共三本葉其孝主編
《數學模型》 第二版姜啓源
《隨機規劃》
《模糊數學》
《數學建模入門》 徐全智
《計算機算法設計與分析》 國防科大
五、常見的幾個網上題庫
常用網站:
(1)信息學初學者之家:http://oibh.ioiforum.org/
(2)大榕樹編程世界:http://www.fjsdfz.org/~drs/program/default.asp
(3)中國教育曙光網:http://www.chinaschool.org/aosai/
(4)福建信息學奧林匹克:http://www.cfcs.com.cn/fjas/index.htm
(5)第20屆全國青少年信息學奧林匹克競賽:http://www.noi2003.org/
(6)第15屆國際青少年信息學奧林匹克競賽:http://www.ioi2003.org/
(7)全美計算機奧林匹克競賽:http://ace.delos.com/usacogate
(8)美國信息學奧林匹克競賽官方網站:http://www.usaco.org/
(9)俄羅斯Ural州立大學:http://acm.timus.ru/
(10)西班牙Valladolid大學:http://acm.uva.es/problemset
(11)ACM-ICPC:http://icpc.baylor.edu/icpc/
(12)北京大學:http://acm.pku.edu.cn/JudgeOnline/index.acm
(13)浙江大學:http://acm.zju.edu.cn/
(14)IOI:http://olympiads.win.tue.nl/ioi/
(15)2003年江蘇省信息學奧林匹克競賽夏令營:http://jsoi.czyz.com.cn
(16)http://acm.zju.edu.cn
(17)http://acm.zsu.edu.cn
(18)www.shumo.com
(19)http://www.bepark.com/downldmanag/index.asp
(20)http://www.yh01.com colin_fox/colin_fox
六、如何備戰ACM/ICPC
1,個人準備(算法書,習題集,網上做題和討論)
2,1000題=亞洲冠軍=世界決賽
3,做好資料收集和整理工作
實驗一:遞歸與分治
1. 二分查找
2. 合併排序
3. 快速排序
實驗二:回溯
1. 0-1揹包問題
2. 裝載問題
3. 堡壘問題(ZOJ1002)
4. *翻硬幣問題
5. 8皇后問題
6. 素數環問題
7. 迷宮問題
8. *農場灌溉問題(ZOJ2412)
9. *求圖像的周長(ZOJ1047)
10. *骨牌矩陣
11. *字母轉換(ZOJ1003)
12. *踩氣球(ZOJ1004)
實驗三:搜索
1. Floodfill
2. 電子老鼠闖迷宮
3. 跳馬
4. 獨輪車
5. 皇宮小偷
6. 分酒問題
7. *找倍數
8. *8數碼難題
實驗四:動態規劃
1. 最長公共子序列
2. 計算矩陣連乘積
3. 凸多邊形的最優三角剖分
4. 防衛導彈
5. *石子合併
6. *最小代價子母樹
7. *旅遊預算
8. *皇宮看守
9. *遊戲室問題
10. *基因問題
11. *田忌賽馬
實驗五:貪心與隨機算法
1. 揹包問題
2. 搬桌子問題
3. *照亮的山景
4. *用隨即算法求解8皇后問題
5. 素數測試