20150114 ACM培训计划-小组组员

更新时间:2023-05-27 02:57:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

湖北中医药大学信息工程学院ACM小组培训计划-20150111

因时间紧张,准备时间有限,培训计划较口语化,请培训小组的各位队员认真看完以下本培训计划的每一个字,特别是标红的地方!

ACM竞赛虽说是团队竞赛,但每个参赛队员都必须有一定的基本能力再结合自身的特点才能去组团,否则非常容易成为团队的深坑。(就像lol里,就算你微操出神入化,但你一个1级的hero能在5人团里提供多大的帮助?)

因此,对于英文阅读翻译能力、数学建模和逻辑思维能力、代码编写能力以及键盘输入能力都存在一定的基本要求,请大家针对自身最薄弱环节抓紧恶补以达到最低要求。

一、培训的准备工作

在ACM的入门阶段,推荐三本书:《数据结构与算法》(傅清祥,王晓东)、《程序设计导引及在线实践》(李文新)、《ACM程序设计培训教程》(吴昊),这三本书的电子版均已放群共享。

1、环境准备

在正式开始ACM的训练前,建议大家登陆浙江中医药大学ACM的训练OJ平台,注册一个自己的ID,以方便练习。(浙大、杭电、北大等其他高校的OJ环境类似,题量更多,难度范围更广,均可以去自行注册练习)

浙大/

杭电/

北大/

注册完成后,通过ProblemSet菜单查看各练习题,进入题目后可根据每题Submit和Solved的数量初步判断此题的难度,在编写代码完成后可单击Submit,将编写调试通过后的代码粘贴在新窗口中,点击Submit以提交,提交后通过Status菜单查看刚才提交的反馈情况,除了Accepted之外其他均为未通过,(具体报错情况请参考错误类型提示)无论通过与否都可以点击edit重新编辑。 做题前请了解一些规范:

1)在C++语言中main函数应为int型,最后return 0 ,即:

int main()

{

...

return 0; }

这样做是因为避免有些编译器报错。

2)为了便于核对,请在代码开头加上可以表明题目来源的相关注释,如:

//ZCMU1000; //ZJU1001; /*PKU1002 */等

再次提醒:做对后别忘提交到训练系统,根据系统给出的提示判断自己提交的代码正确与否。 务必掌握C++语言的特点,特别对于常用的标准模板库STL中的内容必须得熟练。(在参考资料中有相应的介绍及说明)

2、数据结构与算法的训练

数据结构:队列、堆栈、图、排序、查找等的基本表达与操作是必须的,对于树的问题不是太多,但树却是一种重要的分析工具。除此之外,排序和查找并不需要对所有方式都能很熟练的掌握,但是必须保证自己对于各种情况都有一个在时间复杂度上满足最低要求的解决方案。

算法:枚举、贪心、回溯、动态规划、线性规划、整数规划、着色算法、排队算法、背包等,相当于整个程序的灵魂核心,决定整个程序的成败关键。

3、数学为主的逻辑思维能力

图论、组合数学、离散数学、计算几何、线性代数、概率论、初等数学、解析几何等,很大程度上决定了问题思路的切入点,因此也需要引起足够的重视。

4、团队配合

寻找自己最合适的队友,同组队员的相互配合,互补协作默契程度比竞争更为重要。

二、培训过程

1、第一阶段,寒假期间: 浙江中医药大学作为本次竞赛的承办单位,必须要了解熟悉浙江中医药大学的出题模式(该校的所有程序设计课程的机考全部在其OJ上完成,包括C++、数据结构等),因此建议从该OJ平台上source标注的现有练习题着手(1061-1095、1268、1270、1272、1354-1356),在寒假期间每个队员务必要AC,完成的每道题除了要有完整的源码之外,还必须撰写相应的解题报告,这是开始进入ACM大家园的必由之路。(网上有大量的ACM解题模板,基本空白模板也已上传到群共享)有些队员可能觉得某些题太简单,建议还是将它们都做掉。因为题目虽然简单,但是再简单的题目都不能保证一次做对,而做错题的各种原因如题意理解错误,格式错误等你都会碰到,了解这些原因对减少错误率很有好处。(CE、PE这两种错误是可以直接避免的!)

请所有的新队员认真按要求完成相应的基础练习。如果做题遇到困难,如题意难以理解、不知如何着手或不知错在哪里,不要气馁,可以请教别的队员,也可请教老师。我们会尽力帮助你完成这几组中每一道题。但不要复制别人的程序,即便参考了别人的程序,也要亲自再完成一遍。而且不建议过多参考别人程序,这样会消弱训练的效果,也减少了思考的乐趣。

在完成练习题的基础之上,相信队员们对ACM竞赛的基本环境模式有了一定了解,接下来就可以自由尝试一下OJ上的其他题目(包括几次正式比赛的试题,以及其他高校的OJ平台试题),体验一下真正竞赛时的一般试题难度。

共享中已上传了不少资料,分为4类,其中基础资料中为准备工作推荐的3本书,工具书中为可作为工具书进行查看的书记资料,其中,练习题及算法模板中是已收集到的一些网友分享的在各OJ上的做题心得、解题报告、包括ACM的一些常考点汇总等,培训参考课件是后期作为培训时准备的一些资料(其中ACM培训____从入门到高手.pdf作为寒假期间自己学习的主要材料,挑战编程-程序设计竞赛训练手册-有目录 完整版.pdf拟作为下学期开学后集训的主要教材,其他资料作为补充完善)。

除以上所有队员的基本要求之外,针对队员各自不同优势特点,制定下列要求:

1)英文翻译较强的队员,请自行选取各大高校OJ平台上英文题目,每天至少完成15-20道英文题目的翻译工作,并将翻译后主干内容白话剔出,以方便其他队员理解抽取思路。

2)思维能力较强的队员,请自行选取各大高校OJ平台上的题目(少水题),每天至少完成10-15道题目,每道题需用伪码或流程图的方式给出除源码之外的详细解题报告,如未解决可描述已考虑了哪些方面的问题,剩余的问题出在哪。

3)编码的队员,请自行选取各大高校OJ平台上的题目(少水题),每天至少完成5-10道题目,每道题需给出详细解题报告,如未解决可描述已解决了哪些方面的问题,剩余的问题可能出在哪。

各队员在寒假期间(2月19日过年前)需在每周三提交上一周的学习情况汇报,作为考评的一个重要部分。

2、第二阶段,2015年3月2日开学后:

3月2日开学后第一周内将安排一次寒假自学情况摸底考察,考察后公布排名靠前的队员,拟纳入3月底的参赛队伍大名单,之后对于大名单的全体队员开展短期集训,根据一定的积分模式选拔最终参赛的队员(考虑各组队情况)。

3、第三阶段,之后常规工作:

每月对培训小组的全体队员进行考察,公布排名靠前队员名单,老师每周进行一次培训内容讲解,并布置相应的练习。

三、竞赛赛前筹备

每遇到有关程序设计竞赛,经向领导请示后,原则上按照当前排名情况选拔参赛队员。

湖北中医药大学 信息工程学院

ACM培训小组

2015年1月10日

附:/*ZUMC 1061 解题报告参考*/

/*

Description

输入整数 a 和b,计算并输出a、b 的和与差。

Input

输入只有一组a和b

Output

按照下面的例子输出结果

Sample Input

2 -8

Sample Output

The sum is -6

The difference is 10

HINT

Source

C语言练习题

*/

}

测试数据: 3 13 10 3 32 运行结果: 1.00 1000.00 9.00

本文来源:https://www.bwwdw.com/article/05w4.html

Top