codeforces的polygon平台使⽤指北
前⾔
近来被迫⽤Polygon造题。
polygon是codeforces开放给公众使⽤的⼀个造题平台。
地址是
由于平台是全英⽂的,所以这篇教程是⾯向懒得看英语的⼩伙伴们的。
googletranslation优缺点
优点是⽤polygon造题,出锅率⼩,⾃动化程度⾼。
国内访问不稳定,快如闪电和慢似蜗⽜交替,令⼈抓狂。
testlib.h
是codeforces的造题⼯具库。
可以写gen(数据⽣成器),checker(常说的spj,包括简单⽂件逐⾏⽐较也算),validator(⽤于检验数据合法性)。具体的使⽤⽅法请看:/MikeMirzayanov/testlib
要本地编译的话,放进minGW64的include⽬录内就可以编译含#include "testlib.h"的程序了。
流程
第⼀步,新建题⽬。
名字仅允许⼩写英⽂字母,数字和连字符’-’.崔永元炮轰范冰冰
foxnews
polygon上造题是有轻量的版本控制的。服务器上会保存⼀个版本,每次你可以将当前版本爬取到本地,然后进⾏修改。任何修改都要commit,否则只会保存在本地。
所有的改动都列出在了上⾯,但凡是列出的改动都是未commit的本地改动。
General info
在这⾥你可以设置输⼊输出⽂件名,时空限制等等。
右侧的are test well-formed选项建议勾选,会⾃动检测你的输⼊⽂件是否well-form。不合格的输出⽂件将⽆法通过Verification。具体要求请看⼩字。
还可以开启交互题选项和部分分选项、添加算法tag之类的。
Statements
这就是传说中的题⾯和题解。
Files
八大行星英语传⼀些gen,checker的地⽅
注意gen的随机数种⼦由后⾯跟的参数的hash值⽣成。Checker
选择你的checker,若使⽤⾃⼰写的checker在files上传。
可以使⽤⾃带的⼀些checker,有说明。
checker的写法请看旁边的examples.
还可以在下⾯的checker test部分为你的spj添加⼏个例⼦测试。Validator
每⼀组你上传或者⽣成的test都会经过validator的校验。
写法参见examples.
格式要求严格到换⾏和空格都要⼀⼀读⼊。
Tests
放输⼊数据的地⽅。输出数据由std⾃动⽣成。
(这样你就不会有std过了⾃⼰⽣成的数据所带来的⽆锅感
输⼊可以⼿动⽣成上传,也可以⽤写好的gen⽣成。⽣成需要⼀个脚本,语法看旁边说明即可。样例也在这⾥设置。
传完记得preview test,看看有没有没过validator的。
puppy love什么意思
Stress
在线对拍
可以使⽤你的数据⽣成器来对某个程序进⾏长达120s的对拍。
并且可以将使得该程序与main correct solution答案不⼀致的数据⼀键add to test
似乎会在gen的参数后⾯随机加⼀个字符串
solution files
传std的地⽅
当然也可以放各种暴⼒和⽔法
然后给他们标记成你期望的结果
与期望的结果不⼀致是过不了Verification的,
main correct solution会被⽤作标准解法来应付hack之类的东西.
Invocations
primus
⽤test测指定的程序的地⽅。
相当于custom test了。
返回的结果代码有点迷,要猜⼀会才知道意思。更有可能爆各种奇奇怪怪的错…
issues
别⼈给你issues的地⽅。
老师的英文packages
打包的地⽅。可以下载题⽬包。
Manage access
arc welder管理权限的地⽅。可以多⼈协作造题。
(假如冲突了我也不知道会发⽣什么
Verification
都搞完之后点这个,看看fail了没
然后就知道哪⾥不对劲了
顺德翻译公司>获胜者
然后你就轻松+愉快的造好题了。
开⼼吗