新手编程竞赛入门指南 [Cloned]

欢迎加入编程竞赛协会(QQ群:)
进入协会QQ群,联系纳新管理员xixussmy,需提交信息(学院、班级、姓名、学号,vjudge帐号),通过审核后邀请加入“程序设计竞赛组”开展编程学习做题训练。受人数限制,一段时间不参与活动者会被移除。

新手编程竞赛入门指南

编程是程序设计的简称。计算机通过各种各样的程序来实现其功能。因此,学习编程是学习计算机专业的基本要求和技术基础。

计算机程序设计需要依赖于一种程序设计语言来表达。因此,在学习编程之时要先选择一种程序设计语言,一般是C/C++、Java、Python中的一种。然后,就像我们从小学习说话写字、组词造句、段落作文一样,勤加练习多做题,积累各种情况下编写程序的经验,自然而然的就学好了。

我们接下来介绍一个自学编程序的路径,让你从毫无经验的编程小白成长为代码高手,尽快地进入编程竞赛的世界。

第一步(1~2周)快学语法,学到循环

  • 首先,选一本C语言或C++的入门书籍,或者在B站上找一套课程(例如课程1课程2),边看视频边看书,快速地理解C语言语法上的一些基本概念(如输入输出、变量、常量、类型、运算符、表达式、语句),并且跟着看书或视频把上面讲的例子实现出来,看到程序运行结果,直到讲完程序的控制结构(顺序、分支和循环)。
  • 然后,注册一个OJ帐号,直接使用vjudge也可以(OJ使用教程:vjudge使用洛谷使用教程怎么使用AcWingvjudge绑定洛谷帐号AtCoder注册使用Codeforces注册使用),找一些入门的题单(如洛谷题单信息学题单HDU入门题),在输入输出、顺序、分支和循环的章节挑一些简单的有想法的题目做。在这个过程中慢慢地克服各种困难(如编程环境、语法错误,使用OJ、题目交不对等)。遇到个人解决不了的问题,逐步学会看书、网上查资料、问有经验的人,具体且尽快地解决一个个小的编程入门题。
  • 这一步大概花费1至2周时间,要做20至30个题目,看书和视频的时间占30%,70%的时间用来写程序。如果每天投入4到8小时,分配2天看书和视频、3至5天做题。如果每天投入2小时左右,分配4至5天看书和视频、5至10天做题。
  • 关键之处是:不要贴代码。可以多看题解,弄懂思路,模仿着写,但是不要贴代码。做不出来的题目跳过去也没关系,不追求全部自己想自己写,千万不要贴代码。

第二步(2~4周)数组函数,学完语言

  • 要学习数组、字符串、函数、递归、指针、结构体等章节。方法与第一步相同,分成看书和视频、OJ做题两部分,时间分配仍是30%学知识、70%做题。如果每天投入时间较多要花费2~3周,每天投入2~3小时大概需要4周左右。整体上要做30至50个题目。
  • 关键点仍是不要贴代码。针对具体的题目,多看多学他人的程序,理解程序为什么这么写,仍以模仿他人程序为主。从这一步开始,题目和程序逐渐变得复杂,要注意理解题目,注意理解程序的结构。
  • 做到这里,你有足够的能力在程序设计课程中取得优异的成绩。有条件要参加合适的训练赛,锻炼在时间有限的条件下构思程序的能力。

第三步(半年左右)算法入门,数据结构

  • 从这一步开始就进入到算法(枚举、递推、贪心、分治、搜索、动规)和数据结构(线性表、树和图、STL)的基础内容。学好这部分,你有足够的能力在这两门课中取得优异的成绩,并且你已经成为“算法竞赛集训队”的一员了。
  • 首先,选择一套优秀的算法竞赛入门教材,读书学习知识在oj上完成例题和部分习题(要做200题左右)。这里推荐的有三本,选哪一本开始都很不错。
    1. 刘汝佳《算法竞赛入门经典(第二版)》, 入门经典题目
    2. 罗勇军《 算法竞赛》,算法竞赛题目
    3. 洛谷《深入浅出程序设计竞赛 基础篇》,洛谷深基题目
  • 其次,平均每周至少参加一次训练赛,提高自己的竞赛水平,并且在赛后把适合自己提升的题目补出来,新知识点学会(要做100题左右)。这里推荐AtCoder Beginner ContestCodeforces Round,它们每周都会有针对个人的不同难度比赛,根据比赛情况计算个人rating(能力值)。我们也会定期组织协会比赛,希望各位踊跃参加。

第四步(永无止境)竞赛选手

  • 待补充

申请加入竞赛集训队

加入“程序设计竞赛组”学习训练,至少完成第二步,联系集训队管理员aries获取加入竞赛集训队要求,通过审核邀请加入。


Cloned from sdkdacm's article.

posted @ 2024-09-14 09:28  xiins  阅读(34)  评论(0编辑  收藏  举报