【姿势】你应当知道的关于Codeforces的事情
codeforces吧
全部回复
仅看楼主
level 10
wyl8899 楼主
Codeforces
简称: cf(所以谈论cf的时候经常被误会成TX的那款游戏).
网址: codeforces.com
  这是一个俄国的算法竞赛网站,由来自萨拉托夫州立大学、由Mike Mirzayanov领导的一个团队创立和维护,是一个举办比赛、做题和交流的平台.举办比赛和做题就不说了,“交流”指的是自带blog功能,可以求助/发布题解之类.官方语言是俄语和英语,因此可能有些偏僻的题目的题解是用俄语写的,别慌,扔给Google Translate翻成英文,可读性还是很不错的.至于英语,cf上Russian English确实有,但并不严重,题目里偶尔会出现很奇怪的表达方式或者不常用的词汇,这时候就借助样例吧,找个人问问也是可以的.cf最大的特点是比赛,所以接下来主要的篇幅用于介绍cf传统比赛的规则.
2013年01月18日 14点01分 1
level 10
wyl8899 楼主
  在cf,所有的用户根据在以往比赛中的表现被赋予一个Rating并冠以不同的头衔,名字也会以不同的颜色显示,比如Expert是蓝色,Master是黄色,因此我们通常以颜色代指头衔.选手们按Rating以1700为界划分为Div.1和Div.2两类,相应地,cf上的比赛也会指明是Div.1还是Div.2,抑或同时进行.Div.1的比赛较难;如果同时进行,Div.1的ABC三题会和Div.2的CDE三题相同.每次比赛结束后Rating都会依据此前各个选手的Rating和公式重新计算.对于没有参加过比赛的新用户,在比赛后重新计算Rating的时候,他此前的Rating会被视为1500.
  在比赛中,选手有2个小时的时间去解决5道题,而解决某题得到的分数由该题当前的分数减去(不成功的提交次数)*50,这里,某道题的分数是由比赛开始时的分数随时间线性减少得到的.同时,这里的“解决某道题”是指Pretest Passed,即,通过了一次仅含部分测试点的测评,而最终决定是否得到这道题的分数,要看比赛结束后的统一测评(System Test),如果在这时没有通过,就称FST(Failed System Test).在比赛中的提交可以看到在哪个测试点出了什么问题(例如,仅一行WA on pretest 3).
  同一个Div的选手将被划分到若干个Room里,每个Room大概30位选手;当某道题Pretest Passed之后,可以选择锁定(Lock)该题代码,之后就可以查看同一个Room内其他选手该题的代码(当然了,这也是已经通过pretest的),并试图找出其中的漏洞,自己出一个数据(可以手打,也可以提交数据生成器)让这个代码不能通过,这就是Hack,有时也称Challenge.一次成功的Hack可以得到100分,而如果没有成功,将会被扣50分,分别被称为(un)successful hacking attempt.
  在比赛中,选手可以看到实时的排名(Standing),也可以选择只看加了好友的选手的排名.此外,还可以看到某题有多少人通过的信息,这在某些情况下很有用.
2013年01月18日 14点01分 2
level 10
wyl8899 楼主
  主要的东西就介绍完了.这里再补充一点一些零散的东西.
  关于Rating的计算 : 这是一种类似Elo Rating的系统,可以在cf的FAQ或Wiki百科找到更详细的信息.
  关于Contribution : 在用户信息页面会见到这个东西,它用来衡量一个用户对cf的贡献程度.这个数值取决于该用户所写的blog和他对其他的blog所作出的评论的“反响”.每个blog的下方和评论的旁边都会有一个往上和往下的箭头以及一个数字,表示你可以对他进行好或者不好的评价,而数字则显示当前已有的评价,而这就是前面说到的“反响”.点击了往下的箭头会让这个数值-1,点击了往上的箭头则会+1或+2,这里+2的条件是你本身的contribution不低于+25.如果你打算做评论,请谨慎,因为在贴吧里很正常的回复可能会被认为“没意义”或者别的原因而反响很差(比如在比赛预告帖回复Good luck everyone之类的可以被-12),随而contribution也会很难看.由于这样的原因,你可以选择完全可以无视这个数值.
  关于GYM : 在gym里举办的比赛基本上是ACM/ICPC规则的,可以单干,也可以组队(人数似乎没有限制).gym的题目并不会在Problemset里显示,提交之后也不能看到数据(和常规比赛时一样,仅能看到一行TLE on test 137之类),不过在名字变红[即(International) Grandmaster]之后选上Coach mode就可以看到数据.gym里别人的代码的公开性也服从前述规则.
2013年01月18日 14点01分 4
level 10
wyl8899 楼主
  关于Virtual Participant : 有时我们会在某条提交记录的ID右上方看到一个小小的#号或者显示一个时间,鼠标移上去会出现Virtual Participant的字样.正如其字面意思,这意味着这个用户正在“虚拟”参加一场比赛.如果你虚拟地参加一场比赛,系统会在接下来的2小时内(如果gym的话另当别论)为你完全地模拟当时的情境供你练习——包括Standing等等.
  关于奇葩的测评结果 : 这包括Compilation failed,Denial of Judgement和Judgement Failed.在你确认你的程序没什么重大问题之后,基本可以认定这不是你的问题而是系统出了点差错.Judgement Failed通常会呈现爆发的样子,一段时间内几页都是,当这种情况结束的时候就正常了;而Denial of Judgement仅会在某段时间内在特定的题目发生,原因可能是数据损坏之类的,可能要等上个一两天才能得到解决(也有可能在问题解决后被自动重新测评);Compilation failed我还没有见过...字面意思是编译器不干活?
2013年01月18日 14点01分 5
compilation failed编译错误...
2014年11月23日 15点11分
回复
1���ݵĻ���1
:那是compilation error,和failed是两种错误
2015年06月07日 01点06分
成功找到你的帐号了[滑稽]qzr
2016年11月16日 05点11分
@qiaozhanrong master!!!大神!!!膜拜!!!
2018年12月12日 05点12分
level 10
wyl8899 楼主
附 各个头衔的Rating范围和名字颜色:
[2600, inf) International Grandmaster 红
[2200,2600) Grandmaster 红
[2050,2200) International Master 黄
[1900,2050) Master 黄
[1700,1900) Candidate Master 紫
[1500,1700) Expert 蓝
[1350,1500) Specialist 绿
[1200,1350) Pupil 绿
(-inf,1200) Newbie 灰
2013年01月18日 14点01分 6
感觉就是天梯哪。。。
2013年07月13日 13点07分
我太惨了。。。绿名Specialist
2013年09月09日 13点09分
回复 曹操大人001 :。。。一年过去了。。。才刚刚紫。。。
2014年07月21日 17点07分
第一次打完后水到了Candidate Master 紫,然后一路掉。。。一路掉。。。就跪了
2014年12月24日 12点12分
level 10
wyl8899 楼主
附 "ALL" CodeForces Rounds Tutorial By iman_MC
codeforces.com/blog/entry/1492
有些Codeforces上有人发过的题解并没有被链接到对应的题目上(即,存在题解,但是题目页面右下方并没有Tutorial链接),有可能可以在这里找到.
当然这也并不是完全的,而且时不时会更新.具体里面有哪些我就不废话了,各位自己去看看吧.
2013年01月18日 14点01分 7
level 10
wyl8899 楼主
注 本帖不禁水,但有更新内容时将会清理掉.
2013年01月18日 14点01分 8
level 12
评价rating的机制不是很明白,能解释下吗
2013年04月10日 17点04分 9
貌似可能是:所有人一一比较,当场比赛分数高的加rating,低的扣一样多的rating,分高的人rating-分低的人rating越小,增加、减小rating的量越大。
2020年04月10日 14点04分
@よねなにちゃん 艾洛积分制叭
2020年09月19日 13点09分
level 9
还是感觉看不懂题目。。TAT
2013年06月21日 07点06分 10
level 1
div是什么意思?
2013年07月01日 02点07分 11
有可能是 division (分割) 的缩写(?)
2013年08月17日 04点08分
分层?
2014年03月26日 15点03分
散度?
2014年05月05日 11点05分
orz散度
2014年08月04日 09点08分
level 11
codeforces 的 contest 的 standings 列表中的 ID 前的星号是什么意思?
(尼玛。一口气四个的。。。)
可以确定这些人不是正式参赛的。。。。。。
2013年08月17日 04点08分 12
level 1
请问problemID的数字后面的字母有没有什么特殊含义?比如242A 和 427D
2014年05月04日 11点05分 13
是不是427比赛的第D道题的意思?
2014年05月04日 11点05分
回复 牧场·波特 :对,ABCDE难度递增,但还要看这一轮是div.1还是div.2的,或者是别的什么比赛
2014年08月23日 10点08分
level 1
cf。。。比赛的时候被hack了,比赛结束后再交就AC了。。。这是怎么回事??
2014年06月01日 16点06分 14
ac啥意思。。?
2016年03月04日 05点03分
2017年03月07日 11点03分
比赛中的ac,可以得到分数 。结束后再交的ac,不会得到分数。
2018年01月18日 03点01分
level 8
顶楼主!
2014年08月04日 23点08分 16
level 1
我在自己电脑的myeclipse10上可以编译通过
但是在codeforces上显示runtime error
做了两道题都这样
这是哪里错了
在codefoces上可以查看自己错哪里么
2015年09月23日 12点09分 18
我也是,用了system("pause");就会这样,不知道是不是这个原因
2016年04月07日 14点04分
回复 ♂安得双全法 :提交OJ评测的程序请不要使用这个命令,会导致误判的
2017年08月13日 16点08分
Codeforces可能(基本是的)是Linux系统,如果一不小心用了Windows函数(如System(....))或者把Linux自带函数当做变量名(如time),都会RuntimeErrow;另外,Linux的换行符'\n\,windows换行符'\n\r',也需要注意
2018年07月09日 13点07分
level 1
Educational Codeforces是个什么比赛?我知道叫教育场,但我想知道意义在哪,我也知道不算分[呼~]
2016年01月21日 11点01分 19
联系教育书店与书店的区别,我们不难猜解出教育CF究竟是面向谁的,,
2017年04月08日 09点04分
level 1
虽然有点吹毛求疵,但是现在俄国已经不存在了,cf是俄罗斯的
2016年04月12日 15点04分 20
level 1
补充一些内容~我用爬虫爬取了codeforces所有题目的基本信息,分析了各种类型题在不同难度等级上(A、B、C等等)上的分布,可以依次按照不同算法类型来逐步进阶。
有兴趣的可以见http://blog.greenwicher.com/2017/01/03/codeforces-problemset/
2017年01月12日 04点01分 23
[真棒]劲啊
2017年02月03日 01点02分
厉害了
2017年08月02日 05点08分
orz
2018年07月09日 13点07分
level 1
请问compilation error一般都是因为什么?我在VS2013上编译测试都是
正确的
,放上OJ就会显示compilation error。我是C++写的,选的GNU C++的任何一个编译器都是相同的结果。
代码如下:
#include <iostream>
#include <string>
using namespace std;
string a, b;
int compare(string a, string b)
{
int l;
int re;
l = a.length();
for (int i = 0; i < l; i++)
{
if (a[i] == b[i]||abs(a[i]-b[i])==32)re = 0;
else if (a[i] < b[i])
{
re = -1;
break;
}
else { re = 1; break; }
}
return re;
}
void change(string a)
{
for (int i = 0; i < a.length(); i++)
{
if (a[i]>'A'&&a[i] < 'Z')
a[i] = a[i] + 32;
}
}
void main()
{
int re;
cin >> a ;
cin >> b;
change(a);
change(b);
re=compare(a,b);
cout << re << endl;
}
谢谢各位解答啦!!!
2017年08月29日 10点08分 24
没有string这个函数库吧,改成cstring试试
2017年09月06日 16点09分
还有加一个algorithm的函数库
2017年09月06日 16点09分
1、abs()函数为cmath头文件所属,记得加上。2、请让主函数类型为int,并返回0。 楼上的哥们你说的都是错的啊
2017年09月27日 13点09分
level 6
只有打比赛才能涨rating排名吗,problem set里刷题是不行的是吗
2017年12月14日 07点12分 25
是的
2018年04月05日 16点04分
是的
2018年04月05日 16点04分
1 2 尾页