Apollo Connecting the World

Diligence and Intelligence

Posts Tagged ‘ACM

[zz]计算机算法和竞赛教材介绍

leave a comment »

现在公认最好的入门书籍是“白书”《算法竞赛入门经典》(建议每位队员都应该要买这本书),之后应该就是《算法导论》和《算法艺术与信息学竞赛》了,另外《组合数学》和《离散数学》也是值得学习的,这个对训练逻辑思维、数学思维有很大的好处,比如东欧强队都非常注重这方面的训练,而国内注重的是算法训练。

关于题目的好书有:《ACM国际大学生程序设计竞赛题解(1) 》《ACM国际大学生程序设计竞赛题解(2)》《ACM国际大学生程序设计竞赛亚洲区预选赛真题题解》

关于OJ做题的好书有《挑战编程:程序设计竞赛训练手册》,另外一本国内的《程序设计导引及在线实践》

以下来自网络转载:

acm算法书籍收藏推荐

我常感叹到,学计算机的人是幸福的,因为在这个领域中有如此多的通俗易懂(相对来说)的经典好书,你需要做的只是坚持把它们一本一本读下去而已。学力学就没有这样的好事了(抱怨一下),除了论文就是论文,满篇公式,晦涩坚深,真不是给人看的(虽然我也没看过几篇)。在这里列出一些我看过或者准备看的算法书籍,以供参考。

Read the rest of this entry »

Advertisements

Written by apollozhao

2013/02/19 at 14:07

[zz]有关如何入门ACM

leave a comment »

一些题外话

首先就是我为什么要写这么一篇日志。原因很简单,就是因为前几天有个想起步做 ACM人很诚恳的问我该如何入门。其实就现在而言,我并不是很想和人再去讨论这样的话题,特别是当我发现我有很多的东西要学的时候,我实在是不想花太多的 时间在这种问题上。但是我当年也是纯凭热情搞ACM过来的,实在是不忍心打击一个同样有着满腔热情的起步者。所以干脆就多花点时间,总结一下我的一些观点 和看法,以后再让人问起这个问题的时候,也好不用再重复什么了。

其次,我在这篇文章中并不打算探讨特别细节的问题,比如说如果某些人想从中 得到诸如“该看哪本书入门比较好”或者“动态规划、搜索、图论该怎么学”之类问题的答案,恐怕要让您失望了。我觉得书和方法都是因人而异,对自己最好的方 法需要靠自己去摸索,抄别人是抄不来的。更何况当初我起步的时候也几乎是一个人单干,没什么人推荐好书之类,都是搜到哪本书里有我想看的东西然后就抓过来 看,感觉不行就再换一本。很多众口相传的好书,我第一次看的时候,其实里面绝大部分的内容我已经都学过了,所以这种书籍对初学者的作用,我本人并没有切身 的体会,而且也没有过相关的教学经验,所以不敢随意评价。

Read the rest of this entry »

Written by apollozhao

2012/06/15 at 04:00

Posted in Computer Science, Study

Tagged with , , , ,

[zz]大学生计算机编程第一人:从楼天城到楼教主

leave a comment »

5月12日晚8点多,在全球著名的在线编程竞赛平台TopCoder的网络聊天室内,新增了一群来自中国的虚拟ID,他们正在热火朝天地用中文讨论着刚刚结束的这次单场比赛。在这些来自中国的网友中,很多人是因为报名参加了即将在本月底举行的有道难题编程挑战赛而第一次登陆TopCoder竞赛平台进行模拟热身。

请问,楼教主今天来了吗?刚才好像看见ACRush了,大家洗洗睡吧!那个是山寨的,教主今天没来! 在众多来自中国的竞赛参与者当中,ID名为ACRush的选手最为引人瞩目,受到很多选手的追捧,他就是来自于清华大学的选手楼天城。楼天城是目前中国公认的大学生计算机编程第一人,由于近年来不断在国内外各类知名的计算机编程竞赛中屡获骄人战绩,甚至被其他热衷于计算机竞赛的爱好者们戏称作楼教主。

天生的竞赛选手

86年出生的楼天城是浙江人,高中就读于杭州第十四中学。2004年,成绩优秀的他获得了保送进入清华大学学习的机会,2008年开始进入全球唯一华人图灵奖得主姚期智院士所领导的清华大学理论计算机中心攻读博士学位。翻看楼天城的个人简历我们可以发现,他不仅从小就成绩优秀,而且天生就是竞赛类型的好手。从高中起,他就开始参加到各类竞赛当中,高中时曾参加过全国青少年信息学联赛、全国高中数学联赛等比赛都获得一等奖,还在04年入选了国家集训队,国际信息学奥林匹克竞赛IOI也获得金奖。

Read the rest of this entry »

Written by apollozhao

2011/12/23 at 13:03

[zz]ACM学习教材

leave a comment »

from: http://dking94.blog.51cto.com/528254/150031

 

入门三本:《数据结构与算法》(傅清祥,王晓东编著,我所见过的最好的算法教材)
程序设计导引及在线实践  作者: 李文新
ACM程序设计培训教程 吴昊
基础提高:
算法艺术与信息学竞赛 第二版 刘汝佳
算法设计与分析  王晓东
算法设计与试验题解 王晓东
科曼:《算法导论》
组合数学 第三版 冯舜玺 译
计算几何-算法设计与分析 周培德
国际信息学奥林匹克竞赛指导— — 实用算法的分析与程序设计   吴文虎 王建德
网络算法与复杂性理论  谢政 李建平
《Concrete Mathematics — A Foundation For Computer Science》 Ronald L. Graham , Donald E. Knuth , Oren Patashnik《具体数学》(能买到中文版最好)
《计算机程序设计艺术》三卷  Knuth
组合数学的算法与程序设计
《程序设计中的组合数学》 吴文虎
图论的算法与程序设计
图、网络与算法
国际大学生程序设计竞赛辅导教程  郭嵩山 崔昊
《ACM国际大学生程序设计竞赛试题与解析》全部册(吴文虎著,清华大学出版社)
C算法.第1卷,基础、数据结构、排序和搜索(第三版)
C算法(第2卷图算法第3版中文版)译者:周良忠 (美国)塞奇威克著
国际大学生程序设计竞赛例题解 四本  郭嵩山

Written by apollozhao

2010/11/29 at 10:23

[zz]ACM的进阶之路(又一篇)

leave a comment »

from: http://blog.csdn.net/yangxueyong/archive/2010/05/25/5620630.aspx

初期:
一.基本算法:
(1)枚举. (poj1753已做,poj2965已做)
(2)贪心(poj1328,poj2109,poj2586)
(3)递归和分治法.
(4)递推.
(5)构造法.(poj3295没做)
(6)模拟法.(poj1068已做,poj2632已做,poj1573已做,poj2993已做,poj2996已做)
二.图算法:
(1)图的深度优先遍历和广度优先遍历.
Read the rest of this entry »

Written by apollozhao

2010/11/20 at 13:53

[zz]ACM进阶之路

leave a comment »

from: http://blog.csdn.net/leohxj/archive/2010/05/30/5634675.aspx

一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功。

训练过ACM等程序设计竞赛的人在算法上有较大的优势,这就说明当你编程能力提高之后,主要时间是花在思考算法上,不是花在写程序与debug上。

下面给个计划你练练:

第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,
因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打
出来。

1.最短路(Floyd、Dijstra,BellmanFord)
2.最小生成树(先写个prim,kruscal要用并查集,不好写)
3.大数(高精度)加减乘除
4.二分查找. (代码可在五行以内)
5.叉乘、判线段相交、然后写个凸包.
6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)
7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.
8. 调用系统的qsort, 技巧很多,慢慢掌握.
9. 任意进制间的转换

第二阶段:练习复杂一点,但也较常用的算法。
Read the rest of this entry »

Written by apollozhao

2010/11/20 at 13:28

[zz]怎样才算熟练掌握数据结构、常用算法?-总结

leave a comment »

from: http://zhidao.123doing.com/58863.html

前久发了一个帖子(怎样才算熟练掌握数据结构、常用算法?)好象发出了大家的心声,感兴趣的人比较多,相信很多人想从帖子里找到答案, 此帖子把比较好的几个总结出来方便大家学习.

节约版
——————————————————
bigbug9002:
不可能都完全记住那么多的算法.
常用算法,拿过来就可以写出来
不常用的,拿起书来,看10分钟,就能理解算法(因为以前记过).
对以前没有记过的算法,就不好说了,难的可能要研究好几天.
这样就可以了.

应该熟练掌握的常用的算法应该有:
各种排序算法(插入排序、冒泡排序、选择排序,快速排序,堆排序,归并排序)
线性表(一般的线性表,栈,队列)的插入和删除
二叉树的遍历(前序,中序,后序)
图的遍历(深度优先,广度优先)
二分法查找,排序二叉树,Hash查找(处理冲突的方法)。

个人观点.
——————————————————
Read the rest of this entry »

Written by apollozhao

2010/11/20 at 13:19