Codeforces游玩攻略

ezoixx130

2018-07-24 14:51:02

Personal

![](https://cdn.luogu.com.cn/upload/pic/24981.png) $\color{red}\text{为了保护隐私,修改了部分图片}$ ------------ ## 1. 简介 Codeforces是全球最著名的在线评测系统之一,这里有高水平的选手,高质量的题目,高密度的比赛。该网站由俄罗斯的一个团体创立并负责运营。当然,该网站上大部分博客、评论、题面都是英语的。 ------------ ## 2. 网址 [Codeforces](https://www.codeforces.com/)在线评测系统的网站为[www.codeforces.com](https://www.codeforces.com/)。现在,您可以在浏览器中输入该网址或单击左侧链接进入Codeforces在线评测系统。 ------------ ## 3. 使用 ### 1. 主界面 ![](https://cdn.luogu.com.cn/upload/pic/24980.png) 我们首先了解一下顶部菜单栏的功能: | 名称 | 功能 | | :----------- | :----------- | | HOME | 返回主页 | | TOP | 最近更新的文章 | | CONTESTS | 所有比赛 | | GYM | 一些非官方的比赛 | | PROBLEMSET | 题库 | | RATING | 用户比赛积分排名 | | API | 一些接口函数 | 剩下的几个是定期的活动。 在整个网站的右上角是登录和注册按钮,若您没有账号,则建议您先注册账号,再阅读剩下的部分,注意注册账号时的验证码需要科学上网才能显示。 登录完成后,我们看到网站变成了这样:~~其实没变多少~~ ![](https://cdn.luogu.com.cn/upload/pic/24992.png) 侧边栏的内容依次为:即将举行的比赛、用户个人信息(注意若您没有参加过计分的比赛,则不显示Rating这一行)、比赛积分最高的前十个用户等等。 而占主页最大位置的是重要的置顶文章,这些文章通常是比赛预告、网站重大更新的通知等。 ### 2. 社区 通过以下几种方式,您可以查看文章: (1) 单击首页置顶文章或者TOP菜单中的文章的标题 (2) 直接输入网址 (3) 通过侧边栏最后的"Recent actions" ~~(4) 其它您想得到的方式~~ 打开文章后,界面是这样的: ![](https://cdn.luogu.com.cn/upload/pic/25050.png) 细心的读者可能发现了,文章最底部以及评论右侧均有一个绿色的正三角与红色的倒三角,这就是Codeforces的“赞”和“踩”功能,在英语中称为upvote(s)和downvote(s)。这些评价会影响用户的Contribution,如果一条评论收到太多的downvotes,那么它还会被隐藏。 ### 3. 比赛 #### 名字颜色 Codeforces在线评测系统最吸引人的就是它独特的比赛系统了。在Codeforces上,每名用户都拥有比赛积分(即Rating)(新用户默认为1500),比赛积分会影响用户的名字颜色,具体来说就是这样的: | Rating | 名字颜色 | | :---------- | :---------- | | <1200 | 灰 | | <1400 | 绿 | | <1600 | 青 | | <1900 | 蓝 | | <2100 | 紫 | | <2300 | 橙 | | <2400 | 橙 | | <2600 | 红 | | <3000 | 红 | | >=3000 | 黑 | 注意,这里的黑名指的是首字母为黑色,其余字母为红色(所以大部分人叫黑红名),例如$\color{black}\textbf{t}\color{red}\textbf{ourist}$。真正的黑名是网站管理员,例如$\color{black}\textbf{MikeMirzayanov}$。没有参加比赛的用户默认没有名字颜色(其实就是黑色),例如$\text{csacademy}$。 有人也许发现了,上面的表中有两个橙、两个红,这是因为这两种颜色都不仅仅对应着一个称号(分开成了两个称号),所以有可能您会发现两个红名的用户称号不同。 #### 比赛种类 Codeforces上举行的比赛一般有4种,分别是Div.1,Div.2,Div.3和Educational Round。先讲讲Educational Round,Educational Codeforces Round一般题目较多,采用扩展ACM-ICPC赛制,即提交代码立即出结果,错误一次计10分钟罚时。但是为什么叫“扩展”呢,因为比赛结束后会有12个小时的全网开放hack时间。 剩下的就是Codeforces最常见的Div.1,Div.2,Div.3的比赛了,我们先用一张表格了解一下这三类比赛(个人看法)。 | 种类 | 难度 | 人数 | 次数 | 参加人群 | | :---------- | :---------- | :---------- | :---------- | :---------- | | Div.1 | 大 | 少 | 少 | 橙(紫)名以上(含) | | Div.2 | 中等 | 多 | 多 | 橙(紫)名以下(不含) | | Div.3 | 小 | 较多 | 多 | 蓝名以下(不含) | 关于表格内的内容:当一场Div.2的比赛和一场Div.1的比赛同时进行时,紫名只能参加Div.1,否则才可以参加Div.2。 当然,如果您对上面的解释不清晰,您可以查看比赛预告中的说明,或者在比赛预告中的评论中提问。 #### 比赛流程 在参加一场比赛之前,您需要报名。首先单击CONTEST进入页面,然后单击要报名的比赛后面的 Register >> ,在弹出的页面中单击Register即可。 ![](https://cdn.luogu.com.cn/upload/pic/25317.png) 比赛开始后,我们便可以单击 Enter >> 进入比赛页面享受Codeforces的高质量比赛了! 比赛页面的内容大致如下: ![](https://cdn.luogu.com.cn/upload/pic/25469.png) ------------ #### 关于Codeforces赛制: Codeforces赛制的题目会有两套数据,一套称为Pretest,另一套称为System Test,当比赛进行时,您的提交将会用Pretest测评,若通过所有Pretest,则会显示$\color{green}\text{Pretests passed}$,否则显示错误的Pretest编号和错误类型,例如$\color{red}\text{Wrong answer on pretest 3}$,并且还会被罚50分(如果编译错误则不会罚分,错在第一个测试点也不会被罚分)。 当您的一道题目$\color{green}\text{Pretests passed}$后,您可以单击题目列表中那到题目后面的“锁”的符号,这称为锁题,当您锁了一道题后,您就不能再次提交该题了,但是您可以查看同一个房间中其它人本题的代码,若找到了其他人代码中的错误,您可以向他发起hack,即提交一组测试数据使得他的代码错误(例如Wrong answer等等)。一次成功的hack可以使您获得100分,不成功则扣掉50分。 房间:参加比赛的所有用户大约每40各人组成一个房间,只有在房间里的用户才能互相hack。 发起hack的方式是:双击您的房间的排行榜中的任何一个绿色数字,再单击通过的提交的编号查看代码,如果找到了错误,那么您可以单击hack it!,然后输入数据或者上传数据生成器,单击hack即可。 **注意**:锁了的题不能再提交,也就是说如果您锁了一道题,但是您的程序被hack了,那么您就没有补救的机会了。所以,~~叉人有风险,锁题需谨慎~~。 比赛结束后不久就会进行System Test,就是将您已经通过Pretest的程序再测试一套数据,这套数据包括所有比赛中成功hack的数据(所以在Codeforces上有些题目可能拥有上百个测试点),只有您的程序通过了System Test,您的程序才是真正通过了,否则称为Failed System Test(FST),这道题也就不得分了。 #### 如何读懂排行榜 比赛排行榜图解: ![](https://cdn.luogu.com.cn/upload/pic/25321.png) #### Rating 比赛结束后Codeforces系统会自动根据您的比赛排名为您计算Rating。 ### 4. 题解 若您在做题过程中遇到了困难,那么下面的内容可能对您有帮助: 1. 找到该题侧边栏中的"Contest materials",然后单击"Tutorial"或者"Editoral",会有英语(极少数为俄语)题解。 2. Codeforces上的提交记录和代码都是公开的,你可以找到该题其它人的提交记录,查看代码。 **注意**:不要提交其它人的代码,否则您会被警告甚至会被封号。 3. 发贴求助。 以上就是Codeforces在线评测系统的游玩攻略了,祝您能在Codeforces上收获知识与乐趣!~~当然还有高Rating啦~~