ACM-ICPC StepByStep(一)基础知识与参考资料
对于不是计算机专业的同学,如果一开始就从做题开始,可能并不是最好的方式。因为对编程环境和能够使用的工具了解不够,同时对于题目也不能区分哪些可以做哪些不可以做。这样会导致很多不必要的问题而浪费了时间。
因此,对于第一章,首先了解一下ACM的背景知识和,编程环境以及得到一些学习资料。
ACM-ICPC背景知识与建议
参考百度百科以及附件中开头部分
ACM-ICPC是美国计算机协会国际大学生程序设计竞赛,但是为了简单一般都叫ACM。
这是一个团队比赛,有三人组成一个队伍。正式比赛的时候有5个小时解决10题左右的题目。
题目主要分为计算几何,数据结构,动态规划,图论,数学,字符串,博弈等类型。
其中动态规划的类型太多,学习起来比较累,主要是掌握一些方法后不断刷题。
在这几类中,本人觉得数据结构比较实用(把字符串中自动机一类也归于数据结构),因为掌握数据结构较多以后,对于理解一些算法有比较深刻的理解,因为你看懂算法流程以后,明白实现的方式是什么,为什么复杂度可以优化。因此建议掌握了基本的编程功底后,开始学习较为简单的数据结构比较好。
编程环境
如果是为了学习算法,并不需要很复杂的编译器,建议使用codeblocks,但是网上下载的可能是IDE没有编译器,可以自己安装编译器然后设置,或者下载带MinGW的版本。目前dev也编的挺好了,自带编译器&#x