/OpenGCC-Contest

第一届全国高校绿色计算大赛

Primary LanguagePythonApache License 2.0Apache-2.0

全国高校绿色计算大赛(项目挑战组)参赛总结——多啦A梦战队

竞赛介绍

为推动我国基于开源的开放创新生态环境建设,加快面向开源的高校绿色计算人才培养模式变革,大力培养实践能力强、创新能力强、具备国际竞争力的信息技术领域高素质“新工科”人才,教育部高等学校计算机类专业教学指导委员会、教育部高等学校软件工程专业教学指导委员会、全国高等学校计算机教育研究会、绿色计算产业联盟(GCC)共同研究,决定于2018年9月10日起举办第一届全国高校绿色计算大赛。——竞赛组委会

竞赛分为项目挑战组和开源标注组,开源标注主要是对经典算法(比特币、Django之类)进行标注,主要目的还是想让参赛学员通过比赛达到阅读源码的目的,真正参赛的选手并不多。我们主要介绍「项目挑战组」的相关内容。

比赛共分三个大时间节点,分别是模拟赛,预赛,决赛,其中预赛与决赛都是要求在当日9:00-24:00之内完成。

时间 模拟赛(8.30-10.26) 预赛(10.28) 决赛(11.11)
第一阶段 求和,文件查看器,图片查看器 将字符串反转,扔桃子,旋转数组,计算日期 数组排序,病毒区域个数,最长凹谷,进击的程序员
第二阶段 气温预测,折纸小游戏,渡口与船 统计分数的麻烦,最强战队,完美的团建活动 花园浇水,数列操作,消息传递
第三阶段 标签推荐 客户满意度预测 客户购买房屋保险预测

竞赛支持三种编程语言选择,Java、C++、Python允许不同的题目使用不同的语言。

从考察的知识点来看,比赛的第一阶段主要是编程语言的基础题目,涉及一些输入输出、文件操作、数组操作。

第二阶段,主要考察算法知识,模拟赛与预赛题目尚且较为容易,决赛题目的测试集设置难度较大,如果不使用高级算法,将会导致超时超内存等等(然而许多选手依然认为是网络原因造成的超时)。这阶段会涉及到一些图模型和树模型,比如线段树算法,广度(深度)优先搜索算法等等。

第三阶段属于一个数据分析或者机器学习类的题目,题目不算难,不过 python 里只提供 pandas 和 numpy 两个 package,一些本科生或者只会调包的同学在本题会遇到一些麻烦。

本队介绍

队名:多啦A梦。

主力队员,小零件儿躺好了YAO以及其他两名队员。所有队员均为研究生学员、没有ACM或其他算法竞赛经历。多数队员接触python不足一年。

起初,预赛和决赛的第一阶段都要求在10:30之前完成,然而比赛当天,由于网络流量猛增,竞赛网站服务器带宽不足,许多人在比赛开始半个小时才看到题目,因此主办方将第一阶段的时间也放宽到了24:00。比赛过程中,主办方不限制评测次数(最终平台评测次数超过30万),同时实时更新排行榜,不过由于在排行榜中可以明显看出有开小号等不正当竞争手段,平台在比赛过程关闭了实时排行。在比赛结束后做了代码审查之后公布了成绩,相对比较公平。

本队三名主力队员分工进行,第一阶段基本上能快速解决,由于专业相关,所以第三阶段也没有遇到太大阻碍,本仓库中的「Doraemon-stage3」文件夹中是本队决赛第三阶段的代码。但是由于都没有算法竞赛的经验,在预赛和决赛的第二阶段后两题都遇到了一些麻烦。决赛第二题一直超时,后来换 C++ 写依然超时,最后查到 leetcode 相似题目,看到可以用线段树做,才做出来。即使如此,预赛第二阶段后两题,决赛第二阶段的最后一题,也没有做出来。最终预赛得分1149.47,第48名,决赛得分1160.84,第9名,总分1159.13,第13名,获得一等奖。

总结

总体来说,绿色计算大赛可以认为是一个算法比赛,赛题设置的难度梯度较为合理,有区分度,适合低年级研究生和有算法竞赛经验的本科生参加。由于是第一届,知名度还不是很高,后续随着参赛选手水平的提升,赛题难度可能也会提高。对于课题组来说,适合大四、研一新同学参赛,在参赛的过程中,学习Pyhton语言,熟悉一些算法和机器学习任务,节省进入课题组之后的时间。