SDUTACM 不完全手册

SDUTACM 不完全手册

来到了 SDUT ,如果想要成为一名 ACMer 大致需要以下三个步骤

  1. 准备阶段
  2. 选拔(入学后11月左右)
  3. 开始训练!!

如果你能看懂下面这段伪代码,恭喜你已经掌握了程序设计的三种基本结构

do{
   学习基础知识
}while(OJ 过题数 < 150);

if(选拔通过)
{
   while(1)
   {
      开始训练!!;
   }
}

关于 ACM 的不冷不热的知识

  1. 我们参加的其实并不是 ACM。ACM 只是“美国计算机协会”的名字。这么叫的原因是从前 ACM 赞助了 ICPC 比赛,所以这个比赛在国内也被称为 ACM ,但后来 ACM 停止了赞助,这个名称也就留了下来,毕竟叫自己 XCPCer 挺奇怪的。
  2. XCPC 是一类比赛的统称,如 ICPC(国际大学生程序设计竞赛),CCPC(中国大学生程序设计竞赛),GCPC(Ginger大学生程序设计竞赛,SDUT校赛)
  3. ACM 里会有一部分高中接触过 NOIP 竞赛的同学,这类同学被尊称为“OI 爷”。
  4. 在备赛训练时经常使用的一些在线测评平台,一般称为 Oline Judge,简称 OJ。
  5. 正常的 XCPC 类比赛均是英文题目,不能使用电子词典等工具,比赛允许携带纸质材料,因此只能使用纸质词典。
  6. XCPC 类比赛分为三个奖项:金 银 铜。拿到金牌会被称为“金牌爷”,如果很遗憾没有拿到金银铜中的任何一个,则称为“打铁”。
  7. XCPC 类比赛是三人组队参加,除了提高自身能力以外和队友配合默契也是必不可少的
  8. XCPC 类比赛排名以过题数为第一关键字降序排列,以罚时为第二关键字升序排列(过题数多排名靠前,相同过题数罚时少排名靠前)。罚时即 $题目通过的相对时间+题目错误提交次数\times20=题目罚时$,最后对所有通过题目的罚时进行求和,即为队伍本场比赛总罚时。
  9. 在比赛及 OJ 中提交题目会有相应反馈,出现错误后需要排查自己代码中的 bug(s),常见的反馈如下:
    • Accept(AC) 题目通过
    • Wrong Answer(WA) 答案错误
    • Run Time Error(RTE) 运行时错误/段错误
    • Time Limit Exceeded(TLE) 超出运行时间
    • Compile Error(CE) 编译失败,存在语法错误
  10. 比赛结束后一定要查题解,重新解出比赛中没有做出的题。补题的原则是:补比自己能力高一点的题目,组队赛中队友做出来自己没做出来的题目。补题的过程是学习新算法提高自己能力的重要过程
  11. SDUTACM 的口号是:宁拙毋巧,功不唐捐

竞赛常用资源

常用的网上资源

  • SDUT OJ | 学校的在线测评平台
    • 选拔赛的报名及部分课程实验会使用。
  • PTA & OMS 拼题A | 监考系统
    • 部分课程实验以及上机考试的科目会使用该平台,同时天梯赛的练习题目也在该平台。
  • AcWing
    • 大部分同学在使用的算法学习网站,有《算法竞赛进阶指南》(李煜东著)配套题目。站长 yxc 有自己录制的算法教程(需付费)。
  • 牛客网
    • 比赛较多,部分学校校赛以及 ICPC/CCPC 的比赛可能会选择该平台,同时也有月赛等常规比赛可以参加。
  • 洛谷
    • OI爷使用的较多。
  • Codeforces
    • 毛子的网站,也是 ACM 选手最常用的比赛网站,题目偏思维,同时 Rating 也可以客观的反应自己的水平。
  • AtCoder
    • 小日子最近过得不太平的日本人的网站,也会有定期比赛,英文题目。
  • Virtual Judge
    • 日常训练赛使用平台,可以自行选题组织比赛,支持向多个 OJ 提交代码
  • OI Wiki
    • 在线的 OI 百科,OI 中的知识点基本都有涉及
  • 打字酷酷网
    • 练习打字的网站,大一第一学期刷题的同时需要练习打字(英文文章),提高打字速度以及准确度对写代码很重要。
  • 各种博客网站,如 CSDN、博客园
    • 主要用于查找题目题解以及学习新算法
  • 善用搜索引擎
    • 百度、Bing 或者是 Google,学会使用搜索引擎找到自己想要的答案是一项重要技能

常用的书籍资料

  • 《算法竞赛入门经典》(刘汝佳著)
    • 包含基础的语法内容和部分算法,可用作入门及后续数据结构与算法的学习参考
  • 《算法竞赛进阶指南》(李煜东著)
    • 包含一些高级算法及数据结构,有一定算法基础后可以使用(配合AcWing提交题目)
  • 《C Primer Plus》/《C++ Primer Plus》
    • 对 C/C++ 语言介绍更为详细,可作为学习语言的参考,后期对竞赛影响不大
  • 《牛津词典》
    • 正式比赛中用来查单词

准备阶段

参加第一次选拔的门槛是完成 SDUTOJ 上 150 道程序设计基础 I 的实验题,你需要在十一月份选拔赛之前达成这个目标。

过程中不要投机取巧,复制粘贴别人的代码并不会提高你的能力,150 是参加选拔的门槛,也是对你能力的保证,没有足够的题目量检验学习,在选拔赛中也不会占有优势的。
在 OJ 中有很多类似的题目,做过一次就不想再做了是大忌,一套模板反复练是学习的常态,熟能生巧,这样才能更好的理解代码,才能在比赛中将其运用在对应的题目上。

选拔除了考察过题数,同时会进行打字速度测试,打字训练通过 打字酷酷网 进行,内容为盲打+英文文章,目的在于提高自己的码字速度及准确率,这也是一名合格程序员的基本功。最终考核要求为:达到良好及以上+100%正确率。

程设 I 的主要知识点如下,根据 SDUTOJ 题目集顺序学习即可:

  1. 顺序结构
  2. 选择结构(if-else & switch)
  3. 循环结构(while & for)
  4. 数组(一维数组 & 二维数组)
  5. 函数
  6. 指针
  7. 字符串

SDUTOJ – 程序设计基础I
打字酷酷网

选拔

往年选拔赛重现在 SDUTOJ 的 Contest 菜单中有重现比赛可以提交。
第一学年会进行两次选拔,通常在入学后的11到12月,因此第一次选拔落选不要灰心,可以继续准备第二次选拔。

通过第一次选拔后可以在 501 参加秋季集训,集训内容是 程序设计基础 II 的授课内容,实验难度会有所提高。
第二次选拔通过后就可以参加冬季集训了!届时视学校政策会以线上或线下的形式开展。
如果能够通过冬季集训后的第三次选拔,你就有机会来到 504 体验独属于实验室的“山川湖海,风花雪月”(仅仅字面意思而已,真的只是字面意思)。

下面列举了几次选拔赛的题单,学习上述知识点后可以尝试对自己进行检测
SDUTACM 2016年第一次选拔赛
SDUTACM 2018年第一次选拔赛
SDUTACM 2019年第一次选拔赛
SDUTACM 2021年第一次选拔赛
22级第一次选拔赛重现赛
22级新生争霸赛重现赛
21级新生争霸赛重现赛

数据补充:By PQY

开始训练

SDUTACM 一年分为四个训练周期(春夏秋冬),每个训练周期开始及结束时均会组织比赛用于检验学习成果。

春季及秋季训练为了兼顾学业课程,训练时间为每周一到周六 19:00-21:30(上不封顶,但是你要在宿舍锁门之前回去)。
冬季及夏季训练均在假期中进行,时间与正常在校作息相似,期间穿插大量训练赛。

如果你在十一月份前认真的完成了 150 题,其实你的训练生活已经开始了!训练生活大概会经历:新鲜感 – 努力学习新知识 – 做题做题做题 – 有些疲倦懈怠 – 重新找到适合自己的训练节奏。对着电脑敲代码的日子听上去会有些无聊,不断从 WA 到 AC 的过程不也正像我们的生活吗,不断学习、思考、优化,找到属于自己的最优解。

最后:

同学你好,欢迎加入 SDUTACM !

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇