Codeforces 出题感想

总之总算把活干完了。。。花了很多个晚上搞题目和很多个晚上出数据修改我那烂的要死的英文。。。略累。。。估计很长一段时间内是不会再干这种事情了。。。

国内可能还没有人在CF上出过比赛?就简单的介绍下吧。

首先他们出题用的是一个很专业的出题网站:polygon system。。

有一些比较不错的功能就列一下把:

  1. 一个题目可以有几个writer,reader,writer可以改题目,reader只能看看,每个人会有一个working copy,你改了一些之后commit change大家都可以看到,有什么问题和建议也可以在issue里提,系统会帮你自动发邮件给别人。
  2. 硬性要求要有一个validator用于检查输入的正确性,然后validator要写的很严格,还有一个checker,检查输出的正确性,checker基本写的非常非常松,也就是说所有题目都是spj。
  3. 可以很方便的帮你把所有资料packaged。。同时是用脚本生成data的。。。也很方便。。。遇到想cha的错误算法可以跑stress然后把出错数据+进去。

主要还是第一项感觉比较赞。。。

然后熟悉了网站之后我开始出题目,我把我自己想出来的几道挺有意思的题目放上去了,C的话是很早一个SAM的idea,D是我之前暑假的时候跟超哥去逛漫展的时候想到的idea,E是我有一次打osu打到一半灵机一动凑出来的。B呢是以前跟7k+玩的时候想到的比较有意思的idea。

总体来说题目难度确实略大了,C的话SAM可能大家都不熟悉(很奇怪的是tourist在CC上弄过SAM啊,他应该会啊。。。),SA做的话又不是那么好写。。D和E都挺难的。。。现在想想D和E是不是应该交换一下。。

然后我特意把A的pretest放的很弱。。。想让challenge刺激一点。。。结果似乎弱过头了?不过还行吧。。。

比赛过程么就是Petr和tourist一间房。。。大家快速过AB之后tourist率先开始cha。。。。。

cha了很多之后,Petr交了E。。。我看了一下觉得是对的。。。他接下来又过了D。。也是对的。。。我觉得可以预祝他#1了。。。结果他的E里面在hash的时候没用long long。。。给冲突了。。。。pretest里的大数据居然都过掉了。。。可是还是fst了。。。

又有几个人过了E。。。rng58交了一发E WA了。。。我看了一下觉得他的做法跟我的完全不一样。。。感觉是歪路。。。结果他给过了。。。后来发现他的神结论真是无法直视。。。。给他跪烂了。。。

后来有人交了个C。。。是n^1.5的奇葩做法。。。居然尼玛过了大数据。。。。

我没办法只好构造了个卡他的把他卡掉了。。。

由于A的final test都有点弱。。。我不得不在比赛中途加强A的final test。

最后还有几秒的时候Egor交了E。。。我看了一下觉得会T。。。他的做法非常奇葩。。。结果他2976ms卡过了。。。我觉得我只放了一个2000 2000 2000太仁慈了。。。多放几个1999 1999 2000这种他说不定就萎了。。。

最后结果是rng58强势#1暴涨了80rating到#3了。。。跟台湾帅哥交换了一下位置。。。。我还是#4囧-窘迫。。。Petr怎么这么不给力啊T_T。。。tourist不知道什么原因0.5h之后就啥都没干了。。。

总结一下一些经验吧:

  • 以后DE可以很难,C还是中等难度吧。。。
  • test里最好是很多小数据几组大数据,这样小数据验证正确性大数据验证速度。当然D和E里面放满大数据也行。。。反正交的少。。。但是AB里放的太多就卡死了。。。
  • 似乎有很那啥的硬性要求Div2的CDE一定要是DIv1的ABC。。。结果Div2的E就没人能过了。。。以后注意一下吧。。。

我一开始还以为是义务劳动。。。不过还真的是有钱的。。。给了笔小钱。。。正好去换个耳机打osu。。。。