Codeforces游玩攻略

  • Post author:
  • Post category:其他




1. 简介

Codeforces是全球最著名的在线评测系统之一,这里有高水平的选手,高质量的题目,高密度的比赛。该网站由俄罗斯的一个团体创立并负责运营。当然,该网站上大部分博客、评论、题面都是英语的。



2. 网址


Codeforces

在线评测系统的网站为

www.codeforces.com

。现在,您可以在浏览器中输入该网址或单击左侧链接进入Codeforces在线评测系统。



3. 使用



1. 主界面



我们首先了解一下顶部菜单栏的功能:

HOME:返回主页

TOP:最近更新的文章

CONTESTS:所有比赛

GYM:一些非官方的比赛

PROBLEMSET:题库

RATING:用户比赛积分排名

API:一些接口函数

剩下的几个是定期的活动。

在整个网站的右上角是登录和注册按钮,若您没有账号,则建议您先注册账号,再阅读剩下的部分,注意注册账号时的验证码需要科学上网才能显示。

登录完成后,我们看到网站变成了这样:

其实没变多少


侧边栏的内容依次为:即将举行的比赛、用户个人信息(注意若您没有参加过计分的比赛,则不显示Rating这一行)、比赛积分最高的前十个用户等等。

而占主页最大位置的是重要的置顶文章,这些文章通常是比赛预告、网站重大更新的通知等。



2. 社区

通过以下几种方式,您可以查看文章:

  1. 单击首页置顶文章或者TOP菜单中的文章的标题

  2. 直接输入网址

  3. 通过侧边栏最后的”Recent actions”

打开文章后,界面是这样的:



细心的读者可能发现了,文章最底部以及评论右侧均有一个绿色的正三角与红色的倒三角,这就是Codeforces的“赞”和“踩”功能,在英语中称为upvote(s)和downvote(s)。



3. 比赛



名字颜色

Codeforces在线评测系统最吸引人的就是它独特的比赛系统了。在Codeforces上,每名用户都拥有比赛积分(即Rating)(新用户默认为1500),比赛积分会影响用户的名字颜色,具体来说就是这样的:

<1200:灰

<1400:绿

<1600:青

<1900:蓝

<2100:紫

<2300:橙

<2400:橙

<2600:红

<3000:红

>=3000:黑

注意,这里的黑名指的是首字母为黑色,其余字母为红色(所以大部分人叫黑红名),例如



T

LE

\color{black}\textbf{T}\color{red}\textbf{LE}







T




LE






。真正的黑名是网站管理员,例如



MikeMirzayanov

\color{black}\textbf{MikeMirzayanov}







MikeMirzayanov






。没有参加比赛的用户默认没有名字颜色(其实就是黑色),例如



csacademy

\text{csacademy}







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即可。



比赛开始后,我们便可以单击 Enter >> 进入比赛页面享受Codeforces的高质量比赛了!

比赛页面的内容大致如下:



关于Codeforces赛制:

Codeforces赛制的题目会有两套数据,一套称为Pretest,另一套称为System Test,当比赛进行时,您的提交将会用Pretest测评,若通过所有Pretest,则会显示



Pretests passed

\color{green}\text{Pretests passed}







Pretests passed






,否则显示错误的Pretest编号和错误类型,例如



Wrong answer on pretest 3

\color{red}\text{Wrong answer on pretest 3}







Wrong answer on pretest 3






,并且还会被罚50分(如果编译错误则不会罚分,错在第一个测试点也不会被罚分)。

当您的一道题目



Pretests passed

\color{green}\text{Pretests passed}







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),这道题也就不得分了。



如何读懂排行榜



Rating

比赛结束后Codeforces系统会自动根据您的比赛排名为您计算Rating。



4. 题解

若您在做题过程中遇到了困难,那么下面的内容可能对您有帮助:

  1. 找到该题侧边栏中的”Contest materials”,然后单击”Tutorial”或者”Editoral”,会有英语(极少数为俄语)题解。

  2. Codeforces上的提交记录和代码都是公开的,你可以找到该题其它人的提交记录,查看代码。

注意:不要提交其它人的代码,否则您会被警告甚至会被封号。

  1. 发贴求助。



最后

以上就是Codeforces在线评测系统的游玩攻略了,祝您能在Codeforces上收获知识与乐趣!



鸣谢

洛谷的一篇目的相同的文章提供的图片

参考:

Codeforces游玩攻略



版权声明:本文为justin666888原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。