ACM推荐书藉与培训



入门三本:《数据结构与算法》(傅清祥,王晓东编著,我所见过的最好的算法教材)
程序设计导引及在线实践  作者: 李文新
ACM程序设计培训教程 吴昊




基础提高:
算法艺术与信息学竞赛 第二版 刘汝佳


算法设计与分析  王晓东


算法设计与试验题解 王晓东


科曼:《算法导论》


组合数学 第三版 冯舜玺 译


计算几何-算法设计与分析 周培德


国际信息学奥林匹克竞赛指导— — 实用算法的分析与程序设计   吴文虎 王建德
  
网络算法与复杂性理论  谢政 李建平


《Concrete Mathematics --- A Foundation For Computer Science》 Ronald L. Graham , Donald E. Knuth , Oren Patashnik《具体数学》(能买到中文版最好)


《计算机程序设计艺术》三卷  Knuth 


组合数学的算法与程序设计
《程序设计中的组合数学》 吴文虎


图论的算法与程序设计


图、网络与算法






国际大学生程序设计竞赛辅导教程 郭嵩山 崔昊






《ACM国际大学生程序设计竞赛试题与解析》全部册(吴文虎著,清华大学出版社)


C算法.第1卷,基础、数据结构、排序和搜索(第三版)
C算法(第2卷图算法第3版中文版)译者:周良忠 (美国)塞奇威克著  


国际大学生程序设计竞赛例题解 四本  郭嵩山




训练计划:
http://acm.ecust.edu.cn/training/articles/


先做几组难度最低的题,这些题都来自浙大(ZJU)、北大(PKU)和同济(TOJ)的网站。


有些题的解法几乎一眼可以看出,但对C,C++基本语句的熟悉还是很有好处的。练习这些题还有以下目的:


1. 了解竞赛题的形式


2. 熟悉如何在训练系统中提交做对的题目


      请所有的新队员认真完成以下各题。如果做题遇到困难,如题意难以理解、不知如何着手或不知错在哪里,不要气馁,可以请教别的队员,也可请教教练。我们会尽力帮助你完成这几组中每一道题。但不要复制别人的程序,即便参考了别人的程序,也要亲自再完成一遍。而且不建议过多参考别人程序,这样会消弱训练的效果,也减少了思考的乐趣。


      有些队员可能觉得某些题太简单,但我们还是建议将它们都做掉。因为题目虽然简单,但是再简单的题目都不能保证一次做对,而做错题的各种原因如题意理解错误,格式错误等你都会碰到。了解这些原因对减少错误率很有好处。


做题前请了解一些规范:


1.  main函数应为int型,最后return 0 ,即:


int main()


{


...


   return 0;


}


这样做是因为避免有些编译器报错。


2. 为了便于核对,请在代码开头加上可以表明题目的注释,如:


    //ZJU1001; /*PKU1002 */等


 


Group 0:热身


再次提醒:做对后别忘提交到训练系统.
编号 来源 题号标题评注


 
三道都是A+B,而且有样例程序。请自己做一遍,不要拷。
0.1 ZJU 1001A+B Problem
0.2 PKU 1000A+B Problem
0.3 TOJ 1000熟悉一下Online Judge的环境


Group 1:起步


    以下是一些TOJ上的题目,作为起步练习很不错。题目是中文的,但其它形式和比赛题型一样。要注意输出格式。有些题目对格式交待不是很清楚,但这并不是说你可以随意增加空格和空行。遇到这种情况,根据样例输出自行判断。一般行尾没有多余空格。
编号 来源 题号标题评注
1.1 TOJ 1001排版题.输出排列成菱形的字母 
1.2 TOJ 1003排版题.输出三角形的字符 
1.3 TOJ 1006敲七 
1.4 TOJ 1007Step.如何得到输入数据的结束
 
1.5 TOJ 1008扬辉三角
 
1.6 TOJ 1009蛇行矩阵


可以直接在2维数组中填数.


(直接推出每个位置数字的公式和递推公式也可以,但效果并不比前一种方法更有效,而且难度较大)
1.7 TOJ 1015行编辑器简单的字符串处理
1.8 TOJ 1019输入三个自然数 


Group 2:英文题(1)


     以下是ZJU上的题目,ZJU的题都是英文的,有些题难度可能不比上面一组高。但对新队员来说,理解题意本身可能是个难点。  
编号 来源 题号标题评注
2.1 ZJU 1048Financial Management
只比A+B难一点
2.2 ZJU 1045HangOver这一道和下面两道都是简单的计算
2.3 ZJU 1049I Think I need I boat 
2.4 ZJU 1813Biker's Trip Odometer 
2.5 ZJU 1057Undercut 
2.6 ZJU 1113u Calculate e没有输入,但要注意格式
2.7 ZJU 1151Word Reversal简单的字符串处理
2.8 ZJU 1195Blowing Fuses别看题有些长,但其实很简单
2.9 ZJU 1755Clay Bully 
2.10 ZJU 1760Doubles 


Group 3:英文题(2)


    下面这些题可能稍微难一些,但与上面一组难度上并没有本质区别。只要仔细想想,应当不难做出。
编号 来源 题号标题评注
3.1 ZJU 14892^x mod n = 1 
3.2 ZJU 1712Skew Binary 
3.3 ZJU 1016Parencodings 
3.4 ZJU 1350The Drunk Jailer 
3.5 ZJU 1051A New Growth Industry这三题可能比较繁琐,做的时候要仔细
3.6 ZJU 1178Booklet PrintingBook
3.7 ZJU 1078Palindrom Numbers


Group 4:TOJ前20题中剩余题


    TOJ前20题都是基础题,在第一组练习中已经做了一部分,剩下的这一部分难度肯定比第一组大,但与上一组难度差不多。有几道题涉及更知识,在这依旧被剔除,留着以后做。
编号 来源 题号标题评注
4.1 TOJ 1005母牛生小牛类似Fibonacci数列,但有区别
4.2 TOJ 1012约瑟夫问题 
4.3 TOJ 1013去尾问题 
4.4 TOJ 1014阶乘结果末尾有多少零?这两题涉及到一些数学推导,可能难度较大
4.5 TOJ 1016请求N!左边第二位的数字
4.6 TOJ 1018编制一个乘法运
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值