狂人老大 发表于 2007-10-15 14:50

[讨论]ACMer齐聚一堂-->coachard转移

<P>ACMer。。。。。。。。。。。<br>对于很多人都是比较陌生的名词<br>大家能说说对ACM的看法么?<br>我建了一个ACM的QQ群,欢迎大家的加入,共同探讨ACM</P>
<P><br>一个ACMer的群  欢迎喜欢ACM,热衷ACM的ACMer的加入<br>    QQ群号:33741351</P>

[align=right][color=#000066][此贴子已经被作者于2007-10-15 14:51:15编辑过][/color][/align]

crackerwang 发表于 2007-10-15 14:55

网络赛都完了....<br>该干啥还的去干啥了...[em03]
[align=right][color=#000066][此贴子已经被作者于2007-10-15 14:57:48编辑过][/color][/align]

狂人老大 发表于 2007-10-15 14:57

是啊  刚结束   <BR>我还在培训呢   明年要参加了

死了都要C 发表于 2007-10-15 14:57

ACM``是比赛的题吧````<BR><BR>ACMER``就是比赛的这些人吧``<BR><BR>这是什么比赛呢``忘了名字了```<BR><BR>

狂人老大 发表于 2007-10-15 15:01

<P>首先声明:我是ACM菜鸟!!!</P>
<P><BR>然后引用一个牛人的话:真正的算法就是没有算法.</P>
<P><BR>然后再自己顶一句:没有算法的算法才是最强的算法.</P>
<P><BR>1/通过跟ACMer的交流,知道了天有多大,真正的高手有多高.</P>
<P>2/ACM是标准的输入输出,而且求的是问题的通解,不是特解,所以锻炼了我们思维的严谨性.</P>
<P>3/更深地理解了编程不只是编程.在不断的解决实际问题中知道了数学对编程,数学对生活的重要意义.</P>
<P>4/激起本人对算法,对离散数学,对数论,对图论,对组合数学...的极大兴趣...当把一些数学知识在自己的编程解决实际问题的过程中运用出来的时候,那种自豪感是不言而喻的.</P>
<P>5/AC一道很难的题,哪怕花了很多时间,很有成就感,而且这个过程真正锻炼了自己的能力,在自己翻书或者上摆渡解决问题的过程中可以学到很多东西.</P>
<P>6/跟网友交流,也了解了其它学校同专业学生的最新动态.</P>
<P>7/加深了对算法,特别是一些常用算法比如DP/GREEDY/二分/搜索技巧的理解.</P>
<P>8/不断碰到问题,不断解决问题,不断提高实力.</P>
<P><BR>结论:ACM是用来练内功的,这里所谓的内功就是被很多人忽略掉的基础知识,比如乱七八糟的数学,比如思维能力,比如对代码的数据的组织能力...</P>
<P><BR>个人认为:如果时候未到,不用很急着去学一些什么什么语言,在用到的时候翻一翻,顺便学一点就好了.因为学的太早的话由于内功不够我们并不能深刻理解语言的精髓.</P>
<P><BR>感悟:其实C,C++,STL...并不是编程,它们只是编程的工具而已.学语言就好比学烧菜的时候学用菜刀,其实菜烧的好不好吃跟刀子一点关系都没有,当然,我们要熟练用刀子,因为它是烧菜的工具.</P>

狂人老大 发表于 2007-10-15 15:04

<P><FONT color=#ff6600><STRONG>ACM入门必读</STRONG><BR></FONT>1.ACM国际大学生程序设计竞赛简介</P>
<P>1)背景与历史</P>
<P>1970年在美国TexasA&amp;M大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕。1977年,该项竞赛被分为两个级别:区域赛和总决赛,这便是现代ACM竞赛的开始。在亚洲、美国、欧洲、太平洋地区均设有区域赛点。1995至1996年,来自世界各地的一千多支s代表队参加了ACM区域竞赛。ACM大学生程序设计竞赛由美国计算机协会(ACM)举办,旨在向全世界的大学生提供一个展示和锻炼其解决问题和运用计算机能力的机会,现已成为全世界范围内历史最悠久、规模最大的大学生程序设计竞赛。</P>
<P>2)竞赛组织</P>
<P>竞赛在由各高等院校派出的3人一组的队伍间进行,分两个级别。参赛队应首先参加每年9月至11月在世界各地举行的“区域竞赛(Regional Contest)”。各区域竞赛得分最高的队伍自动进入第二年3月在美国举行的“总决赛(Final Contest)”,其它的高分队伍也有可能被邀请参加决赛。每个学校有一名教师主管队伍,称为“领队”(faculty advisor),他负责选手的资格认定并指定或自己担任该队的教练(coach)。每支队伍最多由三名选手(contestant)组成,每个选手必须是正在主管学校攻读学位的学生。每支队伍最多允许有一名选手具有学士学位,已经参加两次决赛的选手不得再参加区域竞赛。</P>
<P>3)竞赛形式与评分办法</P>
<P>竞赛进行5个小时,一般有6~8道试题,由同队的三名选手使用同一台计算机协作完成。当解决了一道试题之后,将其提交给评委,由评委判断其是否正确。若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。</P>
<P>程序运行不正确是指出现以下4种情况之一:</P>
<P>(1)运行出错(run-time error);</P>
<P>(2)运行超时〔time-limit exceeded〕;</P>
<P>(3)运行结果错误(wrong answer);</P>
<P>(4)运行结果输出格式错误(presentation error)。</P>
<P>竞赛结束后,参赛各队以解出问题的多少进行排名,若解出问题数相同,按照总用时的长短排名。总用时为每个解决了的问题所用时间之和。一个解决了的问题所用的时间是竞赛开始到提交被接受的时间加上该问题的罚时(每次提交通不过,罚时20分钟)。没有解决的问题不记时。美国英语为竞赛的工作语言。竞赛的所有书面材料(包括试题)将用美国英语写出,区域竞赛中可以使用其它语言。总决赛可以使用的程序设计语言包括PASCAL,C,C++及Java,也可以使用其它语言。具体的操作系统及语言版本各年有所不同。</P>
<P>4)竞赛奖励情况</P>
<P>总决赛前十名的队伍将得到高额奖学金:第一名奖金为12000美元,第二名奖金为</P>
<P>6000美元,第三名奖金为3000美元,第四名至第十名将各得到l500美元。除此之外还将承认北美冠军、欧洲冠军、南太平洋冠军及亚洲冠军。</P>
<P>2.ACM竞赛需要的知识</P>
<P>语言是最重要的基本功</P>
<P>无论侧重于什么方面,只要是通过计算机程序去最终实现的竞赛,语言都是大家要过的第一道关。亚洲赛区的比赛支持的语言包括C/C++与JAVA。首先说说JAVA,众所周知,作为面向对象的王牌语言,JAVA在大型工程的组织与安全性方面有着自己独特的优势,但是对于信息学比赛的具体场合,JAVA则显得不那么合适,它对于输入输出流的操作相比于C++要繁杂很多,更为重要的是JAVA程序的运行速度要比C++慢10倍以上,而竞赛中对于JAVA程序的运行时限却往往得不到同等比例的放宽,这无疑对算法设计提出了更高的要求,是相当不利的。其实,并不主张大家在这种场合过多地运用面向对象的程序设计思维,因为对于小程序来说这不旦需要花费更多的时间去编写代码,也会降低程序的执行效率。</P>
<P>接着说C和C++。在赛场上使用纯C的选手还是大有人在的,它们主要是看重了纯C在效率上的优势,所以这部分同学如果时间有限,并不需要急着去学习新的语言,只要提高了自己在算法设计上的造诣,纯C一样能发挥巨大的威力。</P>
<P>而C++相对于C,在输入输出流上的封装大大方便了我们的操作,同时降低了出错的可能性,并且能够很好地实现标准流与文件流的切换,方便了调试的工作。如果有些同学比较在意这点,可以尝试C和C++的混编,毕竟仅仅学习C++的流操作还是不花什么时间的。</P>
<P>C++的另一个支持来源于标准模版库(STL),库中提供的对于基本数据结构的统一接口操作和基本算法的实现可以缩减我们编写代码的长度,这可以节省一些时间。但是,与此相对的,使用STL要在效率上做出一些牺牲,对于输入规模很大的题目,有时候必须放弃STL,这意味着我们不能存在“有了STL就可以不去管基本算法的实现”的想法;另外,熟练和恰当地使用STL必须经过一定时间的积累,准确地了解各种操作的时间复杂度,切忌对STL中不熟悉的部分滥用,因为这其中蕴涵着许多初学者不易发现的陷阱。</P>
<P>通过以上的分析,我们可以看出仅就信息学竞赛而言,对语言的掌握并不要求十分全面,但是对于经常用到的部分,必须十分熟练,不允许有半点不清楚的地方.</P>
<P>以数学为主的基础知识十分重要</P>
<P>虽然被定性为程序设计竞赛,但是参赛选手所遇到的问题更多的是没有解决问题的思路,而不是有了思路却死活不能实现,这就是平时积累的基础知识不够。今年World Final的总冠军是波兰华沙大学,其成员出自于数学系而非计算机系,这就是一个鲜活的例子。竞赛中对于基础学科的涉及主要集中于数学,此外对于物理、电路等等也可能有一定应用,但是不多。因此,大一的同学也不必为自己还没学数据结构而感到不知从何入手提高,把数学捡起来吧!下面我来谈谈在竞赛中应用的数学的主要分支。</P>
<P>离散数学</P>
<P>离散数学作为计算机学科的基础是竞赛中涉及最多的数学分支,重中之重又在于图论和组合数学,尤其是图论。图论之所以运用最多是因为它的变化最多,而且可以轻易地结合基本数据结构和许多算法的基本思想,较多用到的知识包括连通性判断、DFS和BFS,关节点和关键路径、欧拉回路、最小生成树、最短路径、二部图匹配和网络流等等。虽然这部分的比重很大,但是往往也是竞赛中的难题所在,如果有初学者对于这部分的某些具体内容暂时感到力不从心,也不必着急,可以慢慢积累。</P>
<P>组合数学</P>
<P>竞赛中设计的组合计数问题大都需要用组合数学来解决,组合数学中的知识相比于图论要简单一些,很多知识对于小学上过奥校的同学来说已经十分熟悉,但是也有一些部分需要先对代数结构中的群论有初步了解才能进行学习。组合数学在竞赛中很少以难题的形式出现,但是如果积累不够,任何一道这方面的题目却都有可能成为难题。</P>
<P>数论</P>
<P>以素数判断和同余为模型构造出来的题目往往需要较多的数论知识来解决,这部分在竞赛中的比重并不大,但只要来上一道,也足以使知识不足的人冥思苦想上一阵时间。素数判断和同余最常见的是在以密码学为背景的题目中出现,在运用密码学常识确定大概的过程之后,核心算法往往要涉及数论的内容。</P>
<P>计算几何</P>
<P>计算几何相比于其它部分来说是比较独立的,就是说它和其它的知识点很少有过多的结合,较常用到的部分包括—线段相交的判断、多边形面积的计算、内点外点的判断、凸包等等。计算几何的题目难度不会很大,但也永远不会成为最弱的题。</P>
<P>线性代数</P>
<P>对线性代数的应用都是围绕矩阵展开的,一些表面上是模拟的题目往往可以借助于矩阵来找到更好的算法。</P>
<P>计算机专业知识</P>
<P>虽然数学十分十分重要,但是如果让三个只会数学的人参加比赛,我相信多数情况下会比三个只会数据结构与算法的人得到更为悲惨的结局。</P>
<P>数据结构</P>
<P>掌握队列、堆栈和图的基本表达与操作是必需的,至于树,我个人觉得需要建树的问题有但是并不多。(但是树往往是很重要的分析工具)除此之外,排序和查找并不需要对所有方式都能很熟练的掌握,但你必须保证自己对于各种情况都有一个在时间复杂度上满足最低要求的解决方案。说到时间复杂度,就又该说说哈希表了,竞赛时对时间的限制远远多于对空间的限制,这要求大家尽快掌握“以空间换时间”的原则策略,能用哈希表来存储的数据一定不要到时候再去查找,如果实在不能建哈希表,再看看能否建二叉查找树等等—这都是争取时间的策略,掌握这些技巧需要大家对数据结构尤其是算法复杂度有比较全面的理性和感性认识。</P>
<P>算法</P>
<P>算法中最基本和常用的是搜索,主要是回溯和分支限界法的使用。这里要说的是,有些初学者在学习这些搜索基本算法是不太注意剪枝,这是十分不可取的,因为所有搜索的题目给你的测试用例都不会有很大的规模,你往往察觉不出程序运行的时间问题,但是真正的测试数据一定能过滤出那些没有剪枝的算法。实际上参赛选手基本上都会使用常用的搜索算法,题目的区分度往往就是建立在诸如剪枝之类的优化上了。</P>
<P>常用算法中的另一类是以“相似或相同子问题”为核心的,包括递推、递归、贪心法和动态规划。这其中比较难于掌握的就是动态规划(DP),如何抽象出重复的子问题是很多题目的难点所在,笔者建议初学者仔细理解图论中一些以动态规划为基本思想所建立起来的基本算法(比如Floyd-Warshall算法),并且多阅读一些定理的证明,这虽然不能有什么直接的帮助,但是长期坚持就会对思维很有帮助。</P>
<P>3.      对新手的一些建议</P>
<P>首先要看一些基础的算法书籍,把基本的算法搞懂。像递归、二分、宽搜、深搜、简单的图论、数论、简单的组合数学。重点根据书上的例题理解算法的实质、思想,能做到有一定领悟。这时需要做一些题目来巩固了。 </P>
<P>先可以做搜索题,搜索是博大精深的,诸多细节技巧都需要靠平时的积累领悟,根据自己练习的目的挑一些题练习。然后可以做简单的数学题,对组合数学、数论有个大致的概念。 </P>
<P>再然后可以做DP类题目了。DP也是非一日之功,练好DP就像练好了内功,这时可以做一些DP的基础题,体会一下,然后做一些提高题,如果不会做,一定要自己想通为什么别人这样设定状态数组,他的技巧在哪里。oibh上很多的国家集训队关于DP的论文是必看的。 </P>
<P>图论里有很多基础的东西需要学习,先把图论里面基本的定义看懂,然后把经典的算法看懂,比如最短路、生成树、割点、连通分量等等。如果不会做,一定要好好看书。 </P>
<P>很多新手会问碰到不会做的题目怎么办。首先应该考察一下为什么不会做这题,如果是书本上的知识点没掌握,那要赶紧把书本找来,仔细理解之后再来想这题。如果知识点基本都掌握了,那么可以利用网络的资源,多搜索一下关于这题的讨论,看看别人是怎么想的,看是否可以给自己提供思路。总之一条,要自己多开动脑子。重在理解这一题的算法,而不是只知道算法,自己把它编程实现了就算了。对待算法和程序要用严谨的态度,没有搞懂的地方要花力气把它搞懂,这样才能不断提高。 </P>
<P>看书是必须的,而且也是迅速提高的最好方法,不要等到做题时才去理解书上的知识点,而要对知识点有了充分的理解后再去做题,这样才能事半功倍,否则看到难题,从哪方面下手的思路都没有。 </P>
<P>高级的贪心,300行的宽搜,A*,STL,诸多的剪枝技巧,统计,查找,treap,对DP状态的优化,带集合的DP,平面图,计算几何,数论......要学的东西很多。但我相信只要努力你们肯定会取得不错的成绩。和别人比赛,其实是和自己比赛,考场上完全是实力的体现,会就是会,不会就是做不出来。训练时间每个人情况不一样,长短不一,但重在看个人悟性,水平达到一定程度之后会发现有质的变化,理解算法简直是小菜。 </P>
<P>这里强调的还是个思维能力的问题,不是为了做题而做题,做题其实是为了训练自己的思维能力和编程能力,从训练中能得到的最大的收获就是提升了思维,套用比较流行的一个词就是“脑力”。这也是为什么说进省队是个标志,进了省队说明你前期有了一定的积累,和那里的一些高手一接触自然自己的思路就大大开阔了,对于算法会有一个更深层次的理解。就算只参加了省队的选拔赛,对自己的帮助也是很大的。用一牛人的话说,没进过省队就等于没见过世面。 </P>
<P>那大家一定达不到那些现今强人的水平吗?当然不是。强人不是天生就强的,也是从菜鸟做起的,成功地原因只有一个-——勤奋。他们的思维能力或者脑力不是天生就这样的。但随便提现今的一个牛人,题量都是上千。他们默默地积累和严谨的态度才取得了现在的成绩。有人说上千题,太恐怖了啊,我做一个题都得花几小时,有些想几天还做不出。一开始自然是这样,知识点众多,考查范围广大,对这些现成的知识要慢慢消化,每个知识点都掌握后,做只考这些知识点的题自然就快了。积累到一定程度后就会发现做题的乐趣,以前很崇拜那些说“今天上课太累了,做几道题休息一下”的人,不知不觉,做题对我来说也成了最大的乐趣。有些题只考查单一的知识点,有些题把几个知识点结合起来考查。比如先用平面图里面的几个知识点,然后凸包求一下,然后DP一下,或者线性方程组解一下再搞个匹配等等,这些题看上去很复杂,但若这些知识点都不折不扣地掌握的话,做这些题自然就像切菜了。题目也是人出的,如果只看现成的这些知识点的话,出题者的思维也是有限的。</P>
<P>参加这个比赛对编程能力的提高也是大有好处的,十分钟上百行无错代码,快速实现逻辑较复杂的算法,debug技巧......而且对语言的理解也能上好几个台阶。我们还没有迎来下一次的编程技术革命,编程仍旧是有局限的,它强迫我们像计算机一样思考,而不是令计算机像我们的大脑一样思考,这是我们需要花巨大的努力去克服的。很多人对我说的这句话可能不太理解,至少感受不深。如果Debug的时间超过写程序时间的1/2,那就是失败的。一切都要慢慢训练,持之以恒之后,拥有良好的编程习惯和风格应该是每个人所追求的。编程的境界永无止境!</P>
<P>以前人们常说看书可以升级大脑,对于计算机及其相关专业的同学来说,参加acm比赛是最好的升级大脑的方法,思维能力的提升可以让我们受益无穷,而编程的能力和技巧则会因为编写大量的代码而大幅提高。或许今后再也没有这样一个机会能让你计算机水平飞速增长。对算法和数据结构理解深入后研究计算机专业的其他课程有如“会当凌绝顶,一览众山小”。所以低年级的同学全身心的投入进来是绝对有好处的。有一年多的积累就能小有成绩了。只要坚持下来,踏踏实实,努力提升自身水平,一定可以实现自己的目标! </P>
<P>做acm看似是枯燥的,但一旦入了门,就会发现其中有无穷的乐趣,即使训练了不参加比赛,对自己也是一个很好的提高。</P>
<P>知识的积累固然重要,但是信息学终究不是看出来的,而是练出来的,这是多少前人最深的一点体会,只有通过具体题目的分析和实践,才能真正掌握数学的使用和算法的应用,并在不断的练习中增加编程经验和技巧,提高对时间复杂度的感性认识,优化时间的分配,加强团队的配合。总之,在这里光有纸上谈兵是绝对不行的,必须要通过实战来锻炼自己。</P>
<P>练习站点推荐:</P>
<P>(1)[acm.pku.edu.cn/JudegOnline] POJ收集了大量比赛真题,其中不乏简单题;POJ的服务器性能良好,响应速度快;POJ经常举办网上练习赛,练习赛是增长比赛经验的最好途径。</P>
<P>(2)[acm.zju.edu.cn] ZOJ是国内最早出现的OJ,有一定的权威性。ZOJ的论坛是最好的资源,提供了“题目分类”,可以进行专题练习。</P>
<P>(3)[acm.sgu.ru] SGU是俄罗斯的。比较注重算法和数学。OI的顶尖高手都在这里做题。</P>
<P>学习资料推荐:</P>
<P>算法导论(英文版)Introduction to Alogrithms.</P>
<P>算法艺术与信息学竞赛 刘汝佳 黄亮 著</P>
<P>历年信息学奥赛中国国家队论文</P>
<P>ACM国际大学生程序设计竞赛试题与解析</P>
<P>组合数学的算法与程序设计</P>
<P>图论的算法与程序设计</P>
<P>实用算法的分析与程序设计</P>
<P>计算几何基础知识</P>

狂人老大 发表于 2007-10-15 15:10

<P><FONT color=#f70909><STRONG>中国大陆ACM/ICPC</STRONG></FONT><BR>ACM-ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(Association for Computing Machinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,其目的旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。该项竞赛从1970年举办至今已历30届,一直受到国际各知名大学的重视,并受到全世界各著名计算机公司的高度关注,在过去十几年中,APPLE、AT&amp;T、MICROSOFT和IBM等世界著名信息企业分别担任了竞赛的赞助商。在ACM竞赛中取得较好成绩的选手,成为各大IT公司竞相争聘的对象。</P>
<P>可以说,ACM国际大学生程序设计竞赛已成为世界各国大学生最具影响力的国际级计算机类的赛事,是广大爱好计算机编程的大学生展示才华的舞台,是著名大学计算机教育成果的直接体现,是信息企业与世界顶尖计算机人才对话的最好机会。</P>
<P>该项竞赛分区域预赛和国际决赛两个阶段进行,各预赛区第一名自动获得参加世界决赛的资格,世界决赛安排在每年的3~4月举行,而区域预赛安排在上一年的9~12月在各大洲举行。</P>
<P>中国内地从1996年开始参加ACM/ICPC亚洲区预赛,至今已历九届。前六届赛区设在上海,由上海大学主办;2002年分设北京和西安赛区,分别由清华大学和西安交通大学主办;2003年设北京和广州赛区,分别由清华大学和中山大学主办。2004年设北京和上海赛区,分别由北京大学和上海交通大学举办。2005年设北京赛区、杭州赛区、成都赛区,分别由北京大学、浙江大学、四川大学举办。2006年亚洲区预选赛在10月份开赛,中国大陆地区设北京赛区、上海赛区和成都赛区,分别由清华大学、上海大学、成都电子科技大学举办。</P>
<P>2007年ACM国际大学生程序设计大赛中国赛区将分为四个赛区,分别是:吉林大学,南京航空航天大学,北京航空航天大学,西华大学(四川成都)。</P>
<P>   ACM/ICPC 是一项具有广泛影响力的赛事, 仅2005年杭州赛区就有1400多只队伍参加了角逐,争夺唯一的出线权,其竞争激烈程度可想而知. 上海交通大学,清华大学,复旦大学,北京大学,中山大学,浙江大学现在在这项赛事上处于国内领先地位.其中,上海交通大学,清华实力最为强劲, 2002年,上海交通大学在美国夏威夷捧回了亚洲第一座全球冠军奖杯. 2005上海交通大学再次将全球冠军奖杯留在了浦东. 而美国的伊利诺斯大学仅仅排名第十七,创下了29年来美国大学参加这一赛事的最差成绩.2007年3月在日本的世界总决赛中,清华大学代表队在楼天成同学的带领下夺得第二名,创造清华ACM/ICPC史上的最好成绩.美国媒体甚至认为,伊利诺斯大学在此次大赛中的铩羽而归也许是美国科技产业噩梦的开始.李开复谈到google在中国的招聘条件曾说: “如果ACM世界冠军不符合,我不知道还有谁符合”. ACM/ICPC 大赛要求参赛者必须具有扎实的数学功底、出色的算法设计能力、娴熟的编程技巧,同时具备良好的协作精神、稳定的心理素质、快速的临场应变能力,是对学生综合素质的全面考验和提升.</P>

<P>1)ACM竞赛面向的不仅仅是计算机专业的学生:</P>
<P>对于计算机系的学生,ACM竞赛可以提高对程序设计语言、数据结构、算法设计专业的应用与学习能力。</P>
<P>对于数学系的学生,ACM竞赛中考察的主要知识点很多都是关于数学方面的,数论、组合数学、概率论、图论、运筹学、人工智能、计算几何等等。</P>
<P>对于其他系的同学,ACM离你们的距离也不远,竞赛考察的题目多种多样,物理、生物相关内容的题也是屡见不鲜。英语系的同学也有优势,因为ACM竞赛的题目是全英文描述的。</P>
<P>2)ACM考察的是一个人的综合素质。从阅读理解到描述表达,从洞察分析到动手实践,从整体把握到细节处理,从类比参照到启发创造,从独立思考到团队配合,相信每一个参加比赛的人都会获益匪浅。</P>
<P>3)在ACM/ICPC竞赛中取得较好成绩的队伍人员,一直是各大软件公司竞相聘请的对象。ACM/ICPC培训及其后续延伸的发展方向,也将成为参与同学们良好的职业/专业发展机会。</P>
<P>要求:</P>
<P>1、  会用一种计算机语言。C、C++等。</P>
<P>2、  弄一些算法和数据结构。</P>
<P>只要你有上面的知识,还有什么好犹豫呢?赶快报名参加吧!</P>

<P>ACM其实是一种精神,它有着自己深刻的内涵。在这里,很多才华横溢的年轻人走到一起,不断解决遇见的难题,不断挑战极限。这是一次难得的聚会,难得的体验。</P>
<P>“ACM/ICPC是一个五味瓶。没有接触过它的人不会知道其中的酸甜苦辣,而一旦置身其中,每个选手都会对它产生一种特殊的感情,时间越长,这种感情也越复杂、越浓烈。感情来源于对算法与题目的喜爱,来源于对成功的向往和失败的恐惧,来源于各种选择与放弃中的徘徊与摇摆不定,来源于程序世界与现实生活的巨大差异,也来源于通往理想的曲折道路——探索其中时的无助和艰辛。等到退役的那一天,回过头来再看当时的自己,相信每位选手都会发现自己的很多方面成熟了许多——远不只是编程能力和算法功底。”——刘汝佳,现清华大学研究生,ACM-ICPC总决赛银牌队伍选手<BR></P>

vbc 发表于 2007-10-15 16:13

ACM真的好有难度,自认还没到那种程度.

zhaoyg 发表于 2007-10-15 16:19

顶了

不再 发表于 2007-10-15 16:24

<P>有兴趣,慢慢学习,</P>

鸿工作室 发表于 2007-10-15 17:04

<P>ACM           我曾经的梦....可后来,我放弃了...<BR><BR><BR><BR><BR><BR></P>

狂人老大 发表于 2007-10-15 17:35

回复:(鸿工作室)ACM 我曾经的梦....可后...

<P>呵呵  怎么能放弃呢 <BR>我现在正努力成为真正的ACMer呢</P>

狂人老大 发表于 2007-10-15 17:50

<FONT color=#ff3300><STRONG>算法常用术语英中对照<BR></STRONG></FONT>Approximate String Matching 模糊匹配<BR>Arbitrary Precision Arithmetic 高精度计算<BR>Bandwidth Reduction 带宽压缩<BR>Bin Packing 装箱问题<BR>Calendrical Calculations 日期<BR>Clique 最大团<BR>Combinatorial Problems 组合问题<BR>Computational Geometry 计算几何<BR>Connected Components 连通分支<BR>Constrained and Unconstrained Optimization 最值问题<BR>Convex Hull 凸包<BR>Cryptography 密码<BR>Data Structures 基本数据结构<BR>Determinants and Permanents 行列式<BR>Dictionaries 字典<BR>Discrete Fourier Transform 离散Fourier变换<BR>Drawing Graphs Nicely 图的描绘<BR>Drawing Trees 树的描绘<BR>Edge and Vertex Connectivity 割边/割点<BR>Edge Coloring 边染色<BR>Eulerian Cycle / Chinese Postman Euler回路/中国邮路<BR>Factoring and Primality Testing 因子分解/质数判定<BR>Feedback Edge/Vertex Set 最大无环子图<BR>Finite State Machine Minimization 有穷自动机简化<BR>Generating Graphs 图的生成<BR>Generating Partitions 划分生成<BR>Generating Permutations 排列生成<BR>Generating Subsets 子集生成<BR>Graph Data Structures 图<BR>Graph Isomorphism 同构<BR>Graph Partition 图的划分<BR>Graph Problems — hard 图论-NP问题<BR>Graph Problems — polynomial 图论-多项式算法<BR>Hamiltonian Cycle Hamilton回路<BR>Independent Set 独立集<BR>Intersection Detection 碰撞测试<BR>Job Scheduling 工程安排<BR>Kd-Trees 线段树<BR>Knapsack Problem 背包问题<BR>Linear Programming 线性规划<BR>Longest Common Substring 最长公共子串<BR>Maintaining Line Arrangements 平面分割<BR>Matching 匹配<BR>Matrix Multiplication 矩阵乘法<BR>Medial-Axis Transformation 中轴变换<BR>Median and Selection 中位数<BR>Minimum Spanning Tree 最小生成树<BR>Minkowski Sum Minkowski和<BR>Motion Planning 运动规划<BR>Nearest Neighbor Search 最近点对查询<BR>Network Flow 网络流<BR>Numerical Problems 数值问题<BR>Planarity Detection and Embedding 平面性检测和嵌入<BR>Point Location 位置查询<BR>Polygon Partitioning 多边形分割<BR>Priority Queues 优先队列<BR>Random Number Generation 随机数生成<BR>Range Search 范围查询<BR>rate of convergence 收敛速度<BR>robustness 鲁棒性<BR>Satisfiability 可满足性<BR>Searching 查找<BR>Set and String Problems 集合与串的问题<BR>Set Cover 集合覆盖<BR>Set Data Structures 集合<BR>Set Packing 集合配置<BR>Shape Similarity 相似多边形<BR>Shortest Common Superstring 最短公共父串<BR>Shortest Path 最短路径<BR>Simplifying Polygons 多边形化简<BR>Solving Linear Equations 线性方程组<BR>Sorting 排序<BR>Steiner Tree Steiner树<BR>String Matching 模式匹配<BR>Text Compression 压缩<BR>Topological Sorting 拓扑排序<BR>Transitive Closure and Reduction 传递闭包<BR>Traveling Salesman Problem 旅行商问题<BR>Triangulation 三角剖分<BR>Vertex Coloring 点染色<BR>Vertex Cover 点覆盖<BR>Voronoi Diagrams Voronoi图

鸿工作室 发表于 2007-10-15 17:51

狂人老大,加油哦....等你实现了梦想,就多多来提携我们哦<BR><BR><BR><BR><BR><BR>[em32]

狂人老大 发表于 2007-10-15 17:54

回复:(鸿工作室)狂人老大,加油哦....等你实现了梦想...

呵呵  我打算把我学习ACM过程获得的资料都放这个帖子里<BR>大家有兴趣的来看看吧<BR>可以一起学习的

小毒 发表于 2007-10-15 19:26

<P>顶你[em17]</P>

狂人老大 发表于 2007-10-15 22:15

[em03]

crackerwang 发表于 2007-10-16 12:55

<P>发点资料不错..<BR>LS有没有IOI论文.发点出来....<BR>先谢谢了<BR></P>

nuciewth 发表于 2007-10-16 14:07

呵呵,曾经玩过.<BR>但很烂[em03]

crackerwang 发表于 2007-10-17 09:30

[em03]<BR>正在玩也够烂的

页: [1] 2

编程论坛