一、知识点
数据结构:
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. 素数测试