什么是ACM程序

什么是ACM程序,第1张

ACM程序设计大赛是大学级别最高的脑力竞赛,素来被冠以"程序设计的奥林匹克"的尊称。

具体情况:

大赛自1970年开始至今已有30年历史,是世界范围内历史最悠久、规模最大的程序设计竞赛。

比赛形式是:经过校级和地区级选拔的参赛组,于指定的时间、地点参加世界级的决赛,由3个成员组成的小组应用一台计算机解决6到8个生活中的实际问题。

ACM-ICPC以团队的形式代表各学校参赛,每队由3名队员组成。每位队员必须是在校学生,有一定的年龄限制,并且最多可以参加2次全球总决赛和5次区域选拔赛。

比赛期间,每队使用1台电脑需要在5个小时内使用C、C++或Java中的一种编写程序解决7到10个问题。程序完成之后提交裁判运行,运行的结果会判定为正确或错误两种并及时通知参赛队。

而且有趣的是每队在正确完成一题后,组织者将在其位置上升起一只代表该题颜色的气球。

哪些知识?

我大致给你列举一些:

基础:

二分、三分、深搜、广搜、KMP、HASH

数学相关:

基础数论(素数分解,欧拉函数,拓展欧几里得等等),计算几何,高斯消元,polay计数,莫比乌斯反演

博弈论:

基本博弈,SG函数,ANTI-SG,Every-SG,不平等博弈

图论:

最短路,最小树,最大流等等。(原谅我图论会的不多)

动态规划:

背包问题,数位dp,状压dp,树形dp,插头dp

数据结构相关:

AC自动机(我也不知道该放到哪里),树状数组,各种各样的线段树,平衡树(也原谅我了解的少)

这些东西你想看书学会?!别逗了,赶紧做题找大神博客吧,这样还能稍微快点

额。。你还没有学过C就要参加ACM啦?没事,慢慢来~

俺大学期间参加过acm,只拿过一个铜牌。就谈谈我的经验吧~

学编程语言,无非看书+实践。

学习c语言,国内入门的就是谭浩强的书绿皮书啦~好好学学。如果对国内的书无好感,可以看看c primer plus。如果要学的更全面,就一定要看Brian WKernighan和Dennis MRitchie写的C程序设计语言。

以上是语言部分。但是要玩ACM,这还远远不够。

大学期间计算机专业都会学数据结构算法设计两门课程,这些课程至关重要。所以,如果你要精进自己的算法能力,这两门必须学好。同样推荐几本书,国内的严蔚敏的数据结构和王晓东的计算机算法设计与分析。国外的Mark Allen Weiss的数据结构与算法分析:C语言描述和著名的MIT的算法导论。注意,老外的书更全面复杂,无论是初学阶段,还是后来的能力提升,都会有帮助!入门的话还是国内的啦~

以上内容学好只是表明你的理论基础过关。更重要的就是编码能力了。ACM是理论和实践的结合。在实际编程中会有很多小技巧和规律,这个就要靠你自己摸索了。当然,针对具体的acm比赛方面的书,无论是ACM规则,编码调试技巧还是算法理论,国内也有不少好的,比如刘汝佳的书就非常值得一看。推荐刘汝佳的黑书《算法艺术与信息学竞赛 》(后期看)和他的《算法艺术与信息学竞赛•算法竞赛入门经典》(前期可看)

此外,一定要多多练习,各大OJ,包括ZOJ,POJ等等,都是练习的去处。一定要勤刷题啊~不懂就问,上网多搜索,几乎所有的题目都会有人给出解答的~

最后,参加ACM是件很苦的事情。除了训练,到后期,你得学会合作,毕竟ACM是三人组队参加。要找到自己擅长的领域,一个人很少可能是ACM全能王,你是擅长搜索,还是动态规划,自己要非常清楚。另外,数学理论也要加强!具体数学,离散数学,组合数学,根据你在队伍中角色和职能的定位有目的的精进自己的数学理论~

以上说的顺序不并不是固定的。比如学完c语言后就可在OJ上刷刷水题了~之后可以一边学算法,一边学数据结构,一边上OJ做题啦~

说了这么多,最后说一句,欢迎加入ACM!

学ACM要熟练C语言的基础语法,对编程有很大的兴趣,还要学关于数据结构的知识。内容大多数是考数据结构,例如:深度搜索(dfs)、广度搜索(bfs)、并查集、母函数、最小生成树、数论、动态规划(重点)、背包问题、最短路、网络流……还有很多算法,我列出这些是经常考到的,我也在学习上述所说的。 最好买一本《数据结构》或者关于算法的书看看,看完一些要自己动手实践做题,做题的话去杭电acm做题,里面有很多很基础的题,不错的。 资料的话,百度有很多,我多数都是百度或者维基百科,还有可以看看别人的博客的解题报告,里面有详细的介绍,不懂还可以问问同学师兄的。 对了,还有一点,acm比赛都是英文题目的,比赛时带本字典查吧。 希望我说的你能满意,祝你能在acm方面有所收获!

以上就是关于什么是ACM程序全部的内容,包括:什么是ACM程序、国际acm程序设计大赛需要准备哪些知识全面的,最好有书名、为参加ACM学C语言,应该怎么学啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10081796.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存