一位高手对我的建议:
一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的
,主要时间是花在思考算法上,不是花在写程序与debug上。
下面给个计划你练练:
第一阶段:
练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,
因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打
出来.
1.最短路(Floyd、Dijstra,BellmanFord)
2.最小生成树(先写个prim,kruscal要用并查集,不好写)
3.大数(高精度)加减乘除
4.二分查找. (代码可在五行以内)
5.叉乘、判线段相交、然后写个凸包.
6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)
7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.
8. 调用系统的qsort, 技巧很多,慢慢掌握.
9. 任意进制间的转换
第二阶段:
练习复杂一点,但也较常用的算法。
如:
1. 二分图匹配(匈牙利),最小路径覆盖
2. 网络流,最小费用流。
3. 线段树.
4. 并查集。
5. 熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp
6.博弈类算法。博弈树,二进制法等。
7.最大团,最大独立集。
8.判断点在多边形内。
9. 差分约束系统.
10. 双向广度搜索、A*算法,最小耗散优先.
第三阶段:
前两个阶段是打基础,第三阶段是锻炼在比赛中可以快速建立模型、想新算法
。这就要平时多做做综合的题型了。
1. 把oibh上的论文看看(大概几百篇的,我只看了一点点,呵呵)。
2. 平时扫扫zoj上的难题啦,别老做那些不用想的题.(中大acm的版主经常说我挑简单的来
做:-P )
3. 多参加网上的比赛,感受一下比赛的气氛,评估自己的实力.
4. 一道题不要过了就算,问一下人,有更好的算法也打一下。
5. 做过的题要记好 :-)
分享到:
相关推荐
ACM练习建议 ACM练习建议 ACM练习建议
ACM 练习建议 ACM(Association for Computing Machinery,计算机协会)是一种国际性编程比赛,旨在提高程序员的编程能力和算法设计能力。以下是 ACM 练习建议,旨在帮助程序员更好地备战 ACM 比赛。 第一阶段:...
### ACM练习题库及相关知识点详解 #### 一、在线题库概述 ACM(Association for Computing Machinery)竞赛是一项国际性的编程比赛,旨在测试参赛者的算法设计能力、编程技能以及解决问题的能力。随着信息技术的...
本资源包"编程ACM入门练习和代码"提供了一些入门级别的练习题目和相关的解题代码,非常适合想要踏入ACM编程领域的初学者进行自我提升。 首先,我们要理解ACM编程的核心在于算法。算法是解决问题的步骤和方法,良好...
在ACM(国际大学生程序设计竞赛)中,C语言是一种常用的编程工具,因其高效、简洁和贴近硬件的特点而深受参赛者喜爱。...在练习过程中,建议结合相关的理论知识进行学习,以达到理论与实践相结合的效果。
### ACM练习计划详解 #### 一、概述 本篇文章旨在为初学者提供一份详尽的ACM编程竞赛训练计划。ACM(Association for Computing Machinery)国际大学生程序设计竞赛是一项面向全球大学生的赛事,旨在培养大学生的...
通过《ACM习题大全》中的练习,你可以逐步提高自己的编程技巧,熟悉各类问题的解题思路。解题的过程不仅是验证理论知识的实践,更是锻炼逻辑思维和问题分析能力的过程。同时,不断地参与模拟比赛和在线编程平台的...
ACM练习建议 一位高手对我的建议: 一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的 ,主要时间是花在思考算法上,不是花在写程序与debug上。 下面给个计划你练练:
总的来说,对于ACM新人,建议首先巩固语言基础,选择适合自己的语言,然后着重提升算法设计能力,同时积累数学知识,尤其是离散数学和数论。这将有助于在竞赛中找到解决问题的思路,避免陷入无法实现算法的困境。...
在实际的学习过程中,建议按照以下步骤进行: 1. 阅读每个题目的描述,理解问题的本质。 2. 分析并确定适合的算法,例如是否适合使用递归、回溯还是动态规划。 3. 仔细阅读Java代码,理解每部分的功能和作用。 4. ...
总的来说,通过《杭电ACM题集》和《浙大ACM题集》的练习,你将能够系统地提高自己的算法水平,为参加ACM竞赛或其他编程挑战做好充分准备。记住,持续练习和不断挑战自我是提升编程技能的关键。无论你是初学者还是有...
在ACM(国际大学生程序设计竞赛)中,参赛者需要具备扎实的算法基础和高效的编程技巧。这份“ACM常用代码”压缩包很可能是为了...同时,不断练习和优化代码,提高代码的效率和可读性,也是ACM竞赛中取得成功的关键。
五、学习方法与建议 1. 系统学习:按照训练指南的结构逐步学习,先理解基础算法,再逐步接触更复杂的题目。 2. 动手实践:对于每个题目,不仅要理解解题思路,更要亲自编写代码并进行调试,以加深理解。 3. 定期复习...
4. 练习题集:包含一系列ACM竞赛中常见的练习题,涵盖数据结构、图论、动态规划等多个方面,附带解答和思路分析。 5. ACM学习指南:可能是一份综合性的指南,推荐学习资源、分享学习经验,以及给出进一步提升技能的...
对于初学者而言,建议根据个人的兴趣和基础选择题目进行练习。基础较好的同学,则可以通过挑战列表中的难题来进一步深化理解。但无论基础如何,最终的考核标准将保持一致,这鼓励所有参与者平等竞争,共同进步。 ##...
### ACM学习建议详解 ACM(Association for Computing Machinery)不仅是一个国际计算机学会,也是计算机科学领域最负盛名的专业组织之一。在计算机科学竞赛中,ACM编程竞赛尤其受到重视,它不仅考验参赛者的编程...
"ACM简单题(一).ppt"这个文件很可能包含了上述知识点的讲解和实例,建议逐步学习,每解决一个题目都要深入理解其背后的算法思想和实现方法。同时,不断参与模拟赛和在线编程平台的练习,以实战检验理论知识,提升...
8. **练习题和模拟赛**:可能还提供了额外的练习题目,供学习者自我测试和提升,以及模拟赛的记录和分析,帮助选手熟悉比赛流程。 综上所述,这份1993-1996年美国ACM解析资料是深入研究ACM竞赛、提高编程技能和解题...
在学习过程中,建议按照文件顺序逐一解压,并结合实际编程练习,以深入理解和消化所学知识。 通过系统学习杭电ACM课件PPT,不仅可以提升编程能力,还能培养解决问题的思维能力和团队协作精神,为参与ACM竞赛或从事...