zoukankan      html  css  js  c++  java
  • 【杂记】 怎么出一场 CF

    怎么出一场 Codeforces Round

    一场 CFR,我们断断续续出了半年的 CFR,两个小时,昙花一现般地落幕了。整天咕咕咕,最后赶 DDL 的 isaf27;绞尽脑汁一起出题的 lsqs;每天翘首期盼不断翻看的 telegram 群组;上线下线阴晴不定的 coordinator……诸如这样的记忆在我的脑中挥之不去。

    CFR 706就这样结束了,Announcement 从原来的 0 赞,到 400、到考前的巅峰 500、再到考完的 400、几天后又涨回了 500。说实话我我看到某题 fst 率高达 30% 的时候我完全已经做好了 blog 被 down 到负数的准备。为了让各位出过 CFR 的大佬们或者不打算出 CFR 的大佬们当个笑话看,让各位准备出 CFR 的大佬们提前做好一些准备,这篇无聊扯淡(刚查了一下发现竟然不是 che3tan2) blog 就诞生了。

    前期准备

    • 一个 CF 账号。一个基本要求是 CF 账号打到黄名(2100),最好能红,这样后续跟 coordinator 对线才有底气
    • 5 道难度递增的题目。(没错,即使是出 div1 也可以先只交五道题目,后续再补即可,我们就是这么搞的)

    搞好这些之后,你就可以在 codeforces 主页上找到 Contest proposals,创建一场比赛,然后将它 publish 就行了。

    由于我们没有私信骚扰过 coordinator,所以交审之后就陷入了无尽的等待,还好我们的等待时间不是很长,仅仅 4 个月的时间,我们就等到了 coordinator 的大 BOSS:( extrm{Kan}) 的回应。

    他会对题目进行一次初审,筛掉一些所谓套路题。这个时候由于你的总题目数量减少了,你要迅速补充那些空缺位置的题目(如果要出 div1 也顺便把之前没出完的题目补了)。如果 Kan 2-3 天不回复,可以直接在 proposal 里回复他的这句话,提醒他来继续审题。

    如果 KAN 看你非常有诚意,题目也还行,那么他就会叫来一个其他的 coordinator(有可能他自己亲自上阵),来与你进行之后的对接。

    中期

    与我们对接的是 ( ext{isaf27}),他好像当时与我们对接的时候有点忙(加上我们,他当时一共在审三个比赛 Orz),所以比较鸽子。

    比较草的一件事情是,如果你在这个时候不小心 "make contest private" 了,其实是不要紧的。不要问我为什么知道

    然后我们就大概知道了 CF 的一些出题潜规则,比如:

    • 简单题题目描述不能太长,不要阅读理解
    • 不能出大数据结构(指代码巨长)。
    • 简单题最好别涉及概率期望。
    • 简单题要不管什么样的语言(python, javascript)都能过。
    • D2C 及以前不能出 dp。(惊了!!)
    • 思维题能加大过审概率
    • 出数据的时候一定要造很强的 pretest "as strong as possible!!!"(所以出题人并不是有意想让人 fst 的呀)

    我们当时的题目配置是这样:

    • 2A。最后比赛中的 2B。
    • 2B。最后比赛中的 2C(1A)。
    • 2C。最后比赛中的 2E(1C)。
    • 2D。一道计数,最后被毙了。
    • 2E。最后比赛中的 1E
    • 2F。最后比赛中的 1F
    • 1E。一道 FFT,最后由于太难被毙了。

    isaf 找上门之后就开始一个一个的口胡题目(注意到他的口胡经常是假的)。在审完若干个题目之后他就会对你说,“我们要不先来准备一下过审的题目吧!”于是丢给你一个连接,要你 read it carefully。然后我才知道原来每题的 pretests 数量是有限制的。(所以在很多情况下都要多测)

    这个时候可以问问 coordinator 有无联系方式,当然他也可能会主动提供。一般来说可以用 telegram 或者 hangouts(需要****)。

    接着你就需要在 Polygon 上准备一个 Contest,然后把权限丢给 isaf。

    接着是造题过程中,我觉得几个比较重要的事情:

    • Polygon 没有提供版本冲突解决的问题,所以在修改 Polygon 上的文件的时候请务必,务必确保两个人没有在修改同一个文件(修改不同文件没问题)。
    • 请务必熟练使用 Polygon 的功能以及用 testlib 库编写 checker,validatorgenerator。如果不知道怎么搞,可以找 coordinator 要之前比赛的 READ 权限,看看他们是怎么写的。OI-wiki 也有一定帮助。
    • 大部分 CRASHED 的情况都是 gen、validator 写错了,注意检查。
    • tests 部分要新建一个 pretests。善用 COPY/MOVE 功能。注意 MOVE 是移动测试点顺序的,而不能从 pretests 移动到 tests。
    • 有问题可以直接问 coordinator,他会直接回复
    • 可以与 coordinator 对线,虽然你基本不会赢
    • 简单题写清楚点题目描述,写清楚点样例解释。少来数学公式,大家都不喜欢看。
    • 尽量避免 Chinglish 和俄式英语(虽然我自己题面就是我自己直接写的,没用翻译,不知道是不是看起来有点 Chinglish)。可以给浏览器装一个 grammarly 插件,能检查出一些小语法错误。但即便有这个插件还是建议人工检查。这个插件有时候不屑于检查连词出错的情况,也无法检测句意不合逻辑的情况。

    后期

    这个时候应该题目都基本造完了,可以叫一堆 tester 来验题力!验题工作会在一个 GYM 的 mashup 里完成,tester 需要 vp 这场比赛(然后你就可以实时看着 ta 如何被 lsqs 的神仙题踩)。一般来说 coordinator 会帮你找一些 nb 人士(rating 都比较高),你也可以自己找 nb 网友来验题(建议少叫一点沙雕网友,多叫一点有验题经验且最近有足够多时间的人)。

    对于我们的题目呢,非常不幸的是,看起来某构造题(最后的 1C,在 test 的时候是 1A)区分度十分奇怪。于是我们必须要强行加上一个题目以平衡难度(最后的 1B)。作为牺牲,一道 ** 题(test 时的 1D)被迫删除。这个时候被毙题也不要太懊恼,认真完成自己的工作就行了。

    接下来会有一些十分用心的 tester 帮你各种写挂题目测试你的 tests 强度,我要特别感谢 ( ext{3.141592653})( ext{aajisaka})。如果没有他们的贡献,我们的比赛风评就没救了。以及我们这次比赛最大的教训就是:简单题一定要开多测!!!构造题、最优化题、非自适应性交互一定要防随机化!!!

    可能在最后 2、3 天的时候,coordinator 依然没有完成俄文翻译,请不要着急,这是正常现象。

    Announcement 直接对着之前比赛的抄抄改改就行了。做题目翻译的人如果不是 coordinator,记得不要忘记感谢 ta。

    比赛开始之前不要去到处宣传“strong pretests”,尽量控制住 tester。静静等待 contribution 增加就行了。

    比赛的时候不要沉迷看榜,事实上我们 4 个人回答问题都没什么时间看榜,开始 5 分钟之后你大概会感受到成吨的问题向你扑来(所以多叫几个人出题是有好处的)。

    • 注意当你看不懂别人的问题的时候,直接回复 Question is unclear 就行了。

    • 如果别人用俄文问,别管 ta,coordinator 会帮忙回复俄文问题。

    • 如果别人用你的母语(非英语)来提问,直接回复 Please use English。

    注意有很多人提同样的问题的时候就要小心了,极有可能是题面出了锅,这个时候 coordinator 就回去发 Announcement 补锅,回答问题的人就变少了。

    考完之后 fast editorial 有点赞加成。有 weak pretests/fstforces/speedforces/conclusionforces/bad contests 的时候立正挨打,别怒斥做题人(如果可以的话商量好找别人来怒斥做题人也是可以的,当然我们没干这种事)。

    大概会有人来私信问你问题,耐心解答一下就好了。

    尽快回归平常生活,被喷了也不要太放在心上。


    后记

    感觉写的不是很清楚 TAT。有什么问题欢迎在评论区与小编讨论哦!

  • 相关阅读:
    资料-Java基础:多线程--创建启动线程的多种方式
    资料-Java基础:基础总结-运算符
    资料-Java基础:父子类加载过程
    总结提纲-逐渐补充
    资料-Java基础:类加载处理过程
    资料-Java基础:双亲委派模型
    资料-Java基础:类加载方式及差异
    转载:java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
    无法启动IIS Express web服务,端口正在使用!
    关于在本地新建数据库作业,无法成功的问题【本地SQLSERVER链接的服务器数据库】
  • 原文地址:https://www.cnblogs.com/imakf/p/14532691.html
Copyright © 2011-2022 走看看