关于命题、关于 EOJ Monthly

Xiejiadong edited 4 年,4 月前

内容绝大部分摘自 oxx1108 相关文章,小部分摘自 ultmaster 相关文章,最少的一部分是自己写的。

推送至首页,希望所有参与 ECNU 所有相关命题的大家共勉。

出题的初衷

出题的初衷只有一个,就是与大家一起分享讨论 idea 。

什么是合格的出题人?
  1. 能力水准高于绝大部分参赛者,至少应该要有 top 10% 。能力不够,时间来凑,但是连金牌水平都没有的来出区域赛的题的话,花再多时间可能也出不出一道好题。(没有任何针对的意思。如果在某一方面很强,有 top 10% 的实力,即使是铜牌选手也可以出一道好题。)

  2. 有大量积累的做题(出题)经验。这个好像是废话,没经验在哪儿都只能当菜鸡。

  3. 能够长时间思考并且从深层次看待问题。比如一些数论题如果从抽代群论的角度来看,就能够理解其真正内在的一些道理,其他题也是如此。在真正的深入理解之后,就能够不被一些条条框框的东西所束缚,从而有一些新的 idea 出现。

  4. 用心出题,为爱发电。这个好像也是废话,做啥事用心才能做好,为钱发电可能也做不好啥事。非常认同吉老师以及Dai老师的观点,出题应该是 idea 导向的,而不是 ddl 导向的。

什么是一个好题?
针对个人赛,区域赛类型的题可能不太一样
  1. 有新意(有自己的idea),不要是原题(well-known problem),套路题。但是在不清楚原题的情况下,撞原题的情况不可避免,毕竟我们能力有限,刷题量有限。

  2. 题意简介了当,容易理解。像是某些题面中有许多歧义,难以理解并套上一些花里胡哨或者强套上背景的题,不能算是个好题。

  3. 解法自然而精妙,最好能够有多种解法让大家百花齐放。在看完题解之后,参赛者能够 make sense 并且有一种恍然大悟的感觉。而不是通过要求参赛者与出题人心灵相通才可以做的题。

  4. 有一定难度,但是不能为了防 ak 而防 ak 。比如我曾经出过一些自己推导了长时间(>5h)的数论题,这些题其实毫无意义。包括一些论文题,抑或是一些不让选手做出来的胖题。当然,太简单也不行。

  5. 不恶心做题人的题。好题是和大家分享自己好的 idea ,不是来恶心做题人的。一些强加的无意义的分类讨论,或者强行增加难度的输入输出,抑或是埋毫无意义的坑都不应该出现在好题里。

  6. 数据范围及时限没有歧义,或者说让选手在写代码前就能够明确知道某个算法能否通过。

  7. 数据的准确性。数据应该尽可能 cover 所有情况,让所有假算法以及有瑕疵的代码不能通过。

一般来说,5~10 个idea才能出出一个好题,积累 idea 真的非常重要。

什么是一套好题?
  1. 没有垃圾题。

  2. 难度类型分布合理,区分度良好。

  3. 不用每个题都是好题,但是至少要有一些好题。个人认为,如果一堆好题整合起来的题一定不是一套好题。参赛者会面对许多充斥着 idea 的题无从下手。这样只会是一套很奇怪的题,虽然每个题拿出来都很好,但是凑一起并不一定合适。当然,如果所有题都没啥新意的话,这可能不是竞赛了,这变成考试了……

  4. 要有一定码量,但是不能胖题成堆。毕竟这是程序设计竞赛,不是码农大赛,不是数学竞赛,更不是脑经急转弯大赛。码量过多或者过少都不适宜。

最后

EOJ Monthly 相关赛事运行至今已经有了差不多两年了。从一开始由 ultmaster 总负责,到现在我接接手以后,出题人越来越少了。

据说一开始办月赛是为了提升校内做比赛的积极性,发掘热爱竞赛或者在这方面有潜力的人加入我们。

渐渐地,月赛似乎更多地变成了兄弟学校 XCPC 集训队之间的一种交流。

在我接手前,依靠着 ultmaster 用爱发电的高瓦力,一直坚持着每月一办,到现在我只能勉强维持两月一办,且题目无论从质量还是数量上都大不如前。

EOJ Monthly 的出题一直坚持 0 报酬的模式运行。希望大家用爱发现,维持这一比赛。

EOJ Monthly 现在没有、以后也不会引入商业运行模式。所以对于在未经出题人同意的前提下将月赛题目用于商业用途的行为是不应该存在的。

所以,我在这里邀请志同道合的大家能够一起加入我们,无论是提供 idea ,抑或是能够 develop 给定的 idea ,只要你有这份心来做这件事,我们都欢迎。

具体方式可以通过加入 EOJ 官方群,在管理员中找到我。

广告
月赛广告

EOJ (ECNU Online Judge) 是由我校程序设计竞赛队员自主开发并维护的在线程序评测系统,该系统已拥有 14 年的历史,是国内最早的一批 OJ。目前已被广泛地用于我校的作业提交、考试、竞赛训练和各类校赛的举办。

为了推动我校和各兄弟院校在程序设计竞赛上的训练,我们于 2017 年 12 月推出了月赛。至今,EOJ 已经成功举办了共 18 场月赛(明天即将举办第十九场)。所有月赛的题目都是我校现役队员利用业余时间精心设计和准备的,其中不乏有交互题、构造题等在国内还不太常见的题型。

EOJ 内置了一套积分系统,月赛的排名会对用户的积分产生影响,并在网站上汇总出一个不断更新的总排名。按照积分分段,在 EOJ 上的用户名的颜色也会不同,从高到低有红名、橙名、紫名、蓝名、绿名等等。

在 EOJ 上做月赛,你不仅能和红名的大神同场竞技,还能看到自己的积分变化曲线,看到自己的进步历程。你也许现在只能做一道题,但要相信,经过持之以恒的训练,你也能和大牛们一样,站到排行榜的最顶端。

在 ECNU Online Judge 注册即可获得每月月赛邮件通知。

Comments