微信营销工作计划表:想参加ACM的同学

来源:百度文库 编辑:中财网 时间:2024/04/30 00:11:37

ACM竞赛作为大学阶段计算机学生的最高荣誉在咱学校竟然不受重视,也没人提起,让那些高中转战NOIP,IOI的同学寒心不已。其实我们学校成绩还是可以的,前年就获得了合肥赛区的第二名,当然由与高手都在其它赛区,没有参加决赛的资格,但也说明了只要我们努力就能有成果。但由于其获奖难度极高,我们学校几乎是破罐子破摔,根本就不管事。其实是学校的这种心态造成大量潜在人才由于不知道相关信息而大学四年庸庸碌碌迷失方向,所以我来说说吧。(如果想简单地保研的话就去机器人吧,进了70%国家一等奖,直接保研资格哦)当然想成为高手,想提升自己的能力就参加ACM吧。

首先说下参加ACM比赛好处,以及与其它课程的关系:

很多人都说ACM考察面太窄了只是算法罢了,像操作系统,编译原理,网络,嵌入式等等都没考察。

其实当你成为ACM高手的时候会发现这些课的重点难点用的算法你都已经知道了,你再学这些东西就像看小人书一样了,你会觉得如果让你去做这些东西你也会这么设计甚至还能加以优化。比如内存分配管理其实就是排序算法的应用而已,PV操作就是设置标志的小技巧而已,编译原理就是字符串处理而已,路由器的相关算法就是图论里的东东而已。。。因为算法是核心,其它那些只是算法在具体环境下的特定应用罢了。如果说那些东西是套路,那么算法就是内功,而ACM比赛就是内功的检验场,你通过了说明你的任督二脉已经打通,你已可纵横天下了。此时你已成为世界各高校争相抢夺的人才了。

就算没有进入决赛但内功强了干啥都顺手。从本科生阶段到博士生阶段的的各种面试笔试机试全逃不出acm考察的圈圈。因为难所以价值极高!

对于找工作来说,百度腾讯网易google每年都有类似于ACM的竞赛,初赛大概都在五月份到六月份进行。只要进入决赛去他们公司找工作都不用简历,直接走绿色通道的哦~你夺得名次后这些公司的岗位就任你挑了,不用简历不用面试,求你到他们公司去!
想想看吧:你不用向各大公司投简历,而是各大公司像你投他们公司的简历了,然后你看都不看把它们都丢到垃圾桶里去!(我时常就在幻想这样的牛人待遇啊,现在已经大四了悔之晚矣,希望大一的同学努力啊)

再说高数,物理等科目。其实与算法真的没什么关系。一旦模拟信号变成了离散信号就是算法的天下了,与之相关的数学是组合数学(研究生阶段才开,我认为应该大一就开)。主要是为了我们今后的计算机应用,比如各种物理数据的采集处理,物理电路的设计仿真等等,这些都属于计算机应用范畴,我们学校其实没有计算机科学专业,有的只是计算机应用与技术专业。有志去1,3系的同学好好学高数,复变,信号与系统这些课吧。当然高数等是常识性知识,不能不知道,这么简单的东西都学不好就不要搞acm了。

接着讲正题:

本人刚来时由于不知道如何进校队而浪费大量时间,学校信息也较为闭塞,到了大三参加了一次也是草草收场,所以希望更多有志的同学早些知道些信息少走弯路。

咱学校进校队其实非常简单,有两条路:
第一条路:在学校举行选拔的时候去参加选拔赛。这个要特别留心,很多阴险的人看了通知后就把通知扯掉的(当年亲眼目睹。。。),一定要多留心。

第二条路:把usaco前五章的题目做完你就直接去找王琪老师就可以进校队了。王琪老师会上离散数学和算法分析课,大家留心下。王老师水平不咋样但人还是很好的,会尽力帮你的哦。ACM竞赛与其它竞赛的区别就是学生一定比老师强,强很多!(不像咱学校的那些所谓的强项竞赛,哼哼)

第二条路显然是我们的最好选择。因为一旦你做完了前五章题目什么选拔赛早已不在话下了。

usaco是美国的程序设计训练站,刚开始英语看不懂的话就去nocow看翻译。acm的题目都是英文的,所以最好看英文的。(学计算机英语极为重要,这东西几乎是美国一家弄出来的没办法)。这个站的特点是题目按学习进程一步步安排,从最简单的讲起,对各种算法分别介绍,题目循序渐进的出现。不像其它OnlineJudge一开始就让你面对杂乱无章的一对题目。一开始你只能做几道题,只有你做完了这几题之后才能解锁后续的题目。做这套题目还有一个好处就是做过这套题的人特别多,相关分析讲解到处都是,相当于有一位经验丰富的老师给你指引了。

当然做完这套题是很不容易的,用一年时间攻克它吧。如果光看书不做题是绝对不行的,要边做题边看书。你会感到强烈的对知识的渴求,而且在应用中你会牢牢记住书上的东西并透彻地了解他们。

首先是语言基础,先把C语言弄熟来(高中用过PASCLE学C一样很快的)。C语言书用谭浩强的就可以了,我们的目标只要会用这门语言即可,此阶段会写冒泡排序,斐波那契数列的递归法,八皇后,约瑟夫问题(数组版和链表版,有兴趣看看数学公式版)即可。然后找一本简单数据结构书看一下(一般都用严蔚敏写的),先把前四章看下,代星星的以及树和图以后做题时一块看。接着学习C++。C++的好处就是STL,一些数据结构如栈,队列,优先队列都可以直接调用,一些常用的算法(例如快排)也可直接调用。C++先用几天看看谭浩强的写的红色的那本,把类,构造函数,析构函数,泛型编程,操作符重载等相关概念理解下,谭的书例子非常简单利于理解,然后看下《ACM程序设计》这本书(蓝皮的,北京大学出版社,超简单的入门基础书,强烈推荐新手看),基本上STL就会用了。然后备着本《C++primer》就好了,遇到问题时查查。用一周把《ACM程序设计》上的水题推掉,这时语言功底已经打好了。接着准备一本《算法导论》和一本简单的国人写的算法设计与分析,按照usaco上的顺序开始算法的学习吧。

其中你会遇到各方面的问题,主要有数论,数据结构,组合数学,计算几何等方面,带着问题去图书馆或上网查资料学习吧,效率很高的哦~

顺带说下,我们学校是先学数据结构再学算法,我认为在学数据结构前先学下算法较好,因为是先有算法

做完五章就去校队吧,会让你做乌拉尔大学的OJ,这时再准备本刘汝佳的《算法艺术与信息学竞赛》翻翻吧(此书极难,分析超短,只适合高手看)